Tải bản đầy đủ (.doc) (12 trang)

PHƯƠNG PHÁP PHÁT TRIỂN LINH HOẠT (AGILE DEVELOPMENT METHODS)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (189.07 KB, 12 trang )

MÔN HỆ THỐNG THÔNG TIN QUẢN TRỊ
ĐỀ TÀI:
PHƯƠNG PHÁP PHÁT TRIỂN LINH HOẠT
(AGILE DEVELOPMENT METHODS)
Thành phố Hồ Chí Minh, ngày 17 tháng 12 năm 2009
MỤC LỤC
I. MỞ ĐẦU ............................................................................................ 2
1. Định nghĩa mô hình thác nước Waterfall ............................................2
2. Định nghĩa phương pháp phát triển linh hoạt Agile.............................3
II. PHƯƠNG PHÁP PHÁT TRIỂN LINH HOẠT (Agile Development Method)
..............................................................................................................3
1. Đặc điểm phương pháp phát triển linh hoạt Agile...............................3
2. Tuyên ngôn và nguyên tắc của phương pháp phát triển linh hoạt Agile 5
2.1. Tuyên ngôn ...............................................................................5
2.2. Nguyên tắc ................................................................................5
3. Điều kiện áp dụng phương pháp phát triển linh hoạt Agile ................6
III. SO SÁNH AGILE VÀ WATERFALL ...............................................6
IV. KẾT LUẬN .........................................................................................8
BẢNG PHÂN CÔNG CÔNG VIỆC ............................................................11
Tài liệu tham khảo ........................................................................................12
2
I. MỞ ĐẦU
Ngày nay, công nghệ thông tin (IT) có vai trò rất lớn trong các hoạt động
kinh tế, sản xuất kinh doanh, bán hàng, xúc tiến thương mại, quản trị doanh
nghiệp….Việc áp dụng các ứng dụng của công nghệ IT đã trở thành một phần
không thể thiếu của đời sống cũng như trong các hoạt động của nền kinh tế nói
chung và của các doanh nghiệp nói riêng. Đặc biệt là việc phát triển hệ thống thông
tin kinh doanh là yếu tố quan trọng góp phần vào sự thành công của một doanh
nghiệp. Hiện nay có rất nhiều phương pháp phát triển hệ thống và một trong những
phương pháp được đánh giá là chiếm lĩnh ưu thế trong những năm gần đây: phương
pháp phát triển linh hoạt (Agile Development Methods).


Phương pháp Agile ra đời vào những năm 90, được phát triển trên nền tảng
khắc phục nhược điểm của một phương pháp cổ điển: Waterfall Method.
1. Định nghĩa mô hình thác nước Waterfall
Mô hình Thác nước (Waterfall) ra đời vào những năm 70, là một mô hình cổ
điển và được áp dụng trong qui trình phát triển phần mềm tại phần lớn các công ty.
Mô hình Waterfall là một chuỗi qui trình phát triển như một luồng đều đặn từ trên
xuống giống như một thác nước, bao gồm các giai đoạn: phân tích yêu cầu khách
hàng, thiết kế, cài đặt, kiểm tra, tích hợp và bảo trì. Mô hình này đề nghị các hoạt
động được tiến hành như các giai đoạn tách biệt, giai đoạn sau sẽ không bắt đầu
chừng nào giai đoạn trước chưa hoàn thành. Sản phẩm đầu ra của giai đoạn trước
trở thành đầu vào của giai đoạn sau. Ưu điểm của Waterfall là dễ quản lý. Tuy
nhiên, nhược điểm của nó là quá cứng nhắc và thiếu thực tế, bởi việc thay đổi ở bất
kì phần nào của quy trình cũng là không thể vì việc làm lại các giai đoạn ban đầu để
đáp ứng sự thay đổi thường mất rất nhiều công sức và phá vỡ cấu trúc của phần
mềm.
Đề khắc phục được nhược điểm này của Waterfall, phương pháp agile ra đời
với mục tiêu là phần mềm phải có khả năng biến đổi, phát triển và tiến hóa theo thời
gian mà không cần phải làm lại từ đầu. Phương thức này tập chung vào tính đơn
3
giản: tạo ra một phần mềm thật đơn giản đáp ứng đúng yêu cầu của khách hàng hôm
nay và sẵn sàng cho những thay đổi vào ngày mai.
2. Định nghĩa phương pháp phát triển linh hoạt Agile.
Agile là một triết lí (philosophy) cho việc phát triển phần mềm. Nói cách
khác, đó là một cách “tư duy” về các dự án phần mềm. Các triết lí của Agile được
cụ thể hóa bởi một số phương pháp phát triển phần mềm (method), chẳng hạn như
Extreme Programming (XP) hay Scrum, gọi tắt là các phương pháp Agile.
Mỗi phương pháp Agile bao gồm một tập hợp các quy tắc (pratice), chẳng
hạn quy tắc về sử dụng công cụ quản lí mã nguồn, quy tắc về các chuẩn lập trình
hay quy tắc trình diễn sản phẩm hàng tuần cho khách hàng.
II. PHƯƠNG PHÁP PHÁT TRIỂN LINH HOẠT (Agile development

method)
Để khắc phục những đặc điểm của phương pháp Waterfall, vào đầu những
năm 90, một phương pháp phát triển phần mềm mới đã ra đời. Phương pháp này cho
phép các phần mềm có khả năng biến đổi, sửa chữa ngay cả khi dự án đã bắt đầu.
Đó là phương pháp phát triển phần mềm linh hoạt (Agile Development Methods).
1. Đặc điểm phương pháp phát triển linh hoạt Agile
Phương pháp phát triển linh hoạt cho phép các dự án được hoàn thành nhanh
chóng mà vẫn đảm bảo được yêu cầu về chất lượng và dễ dàng trong việc sửa chữa,
cập nhật khi những yêu cầu thay đổi vào bất cứ giai đoạn nào của dự án cho đến khi
dự án kết thúc và sản phẩm được giao cho khách hàng. Phương pháp phát triển linh
hoạt có những đặc điểm sau:
Thứ nhất là nó được phát triển dựa trên quy trình phát triển lặp (interative
development) – mỗi dự án sẽ được chia ra thành nhiều mảng nhỏ, dễ sử dụng và dễ
sửa đổi khi yêu cầu của khách hàng thay đổi. Dự án sẽ được thực hiện từng theo
từng mảng nhỏ này, giống như những dự án nhỏ, hết dự án này quy trình sẽ lại bắt
4
đầu với dự án tiếp theo cho đến khi tất cả những yêu cầu của khách hàng được đáp
ứng và dự án được bàn giao.
Thứ hai là, với phương pháp phát triển linh hoạt, cứ mỗi hai hay bốn tuần,
nhóm lập trình viên sẽ giao cho khách hàng một phần của dự án, khách hàng sẽ
kiểm tra và được khuyến khích đưa ra những ý tưởng mới, những yêu cầu mới hoặc
thay đổi những yêu cầu của dự án. Theo đó, nhóm lập trình viên có thể cập nhật và
sửa đổi sản phẩm theo đúng yêu cầu của khách hàng thay vì chỉ căn cứ vào hợp
đồng và làm việc. Cần lưu ý là không giống với phương pháp waterfall, việc sửa đổi
này giúp cho ứng dụng tốt hơn, đẹp hơn và không phá hỏng nó, không buộc phải bắt
đầu lại từ đầu.
Thứ ba là, với phương pháp phát triển linh hoạt, từng phần nhỏ của dự án
phần mềm sẽ được test ngay trong quá trình làm dự án và việc này do chính các lập
trình viên làm thay vì phải có các nhóm kiểm tra (tester) độc lập. Bằng cách sử dụng
công cụ “unit test” (kiểm tra từng phần), từng phần của dự án sẽ được kiểm tra ngay

trong quá trình phát triển trước khi tích hợp vào phần mềm.
Thứ tư là, phương pháp phát triển linh hoạt nhấn mạnh vào việc gặp mặt trao
đổi hàng ngày giữa các thành viên trong nhóm dự án. Khác với phương pháp phát
triển truyền thống, các thành viên của nhóm dự án được chia ra phát triển từng mảng
riêng biệt, với phương pháp Agile, tại mỗi thời điểm, cả nhóm cùng tập trung phát
triển một mảng của dự án. Vì vậy, phương pháp Agile yêu cầu các thành viên có sự
5

×