You are on page 1of 2

Agile và Waterfall là hai mô hình phát triển phần mềm có những đặc điểm rất khác nhau:

+ Agile cho phép khách hàng có thể request thay đổi yêu cầu hoặc bổ sung specs bất kỳ lúc nào
trong quá trình phát triển. Waterfall phải thực hiện thay đổi specs và các yêu cầu đặc tả khác
trước khi bắt đầu phát triển.

+ Agile có thể cung cấp dịch vụ ở mỗi lần lặp (Iteration) nên sẽ nhanh chóng. Còn đối với Waterfall
chỉ cho phép cung cấp dịch vụ sau khi đã hoàn thành toàn bộ các quy trình, do vậy sẽ tốn thời
gian hơn.

+ Trong mô hình phát triển Agile không bắt buộc phải có tài liệu, tuy nhiên nếu đó là một phương
thức truyền đạt thông tin hiệu quả thì vẫn nên tạo tài liệu. Ngược lại, với mô hình phát triển
Waterfall, tài liệu cần được tạo cho mỗi quy trình và được kết nối với quy trình tiếp theo. Ngoài ra,
tài liệu cũng là bằng chứng của dự án sau khi toàn bộ quá trình hoàn tất.

+ Agile yêu cầu việc test thường xuyên ứng với từng implement, Waterfall thì việc kiểm tra chỉ
được thực hiện trong giai đoạn test.

+ Trong phát triển Agile, mỗi kỹ sư sẽ thực hiện công việc phát triển của mình mà không cần phải
có một lĩnh vực chuyên môn cụ thể; nhưng với mô hình Waterfall, bắt buộc phải có một người phụ
trách từng quy trình.

+ Phương pháp Agile giúp bạn học hỏi thực tế thông qua các phát triển lặp đi lặp lại. Vì phải chịu
trách nhiệm đối với tất cả các vòng phát triển, bạn sẽ có nhiều kinh nghiệm cũng như dễ dàng
thích ứng hơn trong nhiều lĩnh vực. Còn phát triển Waterfall thiên về việc sử dụng người có
chuyên môn, kinh nghiệm nên việc đào tạo/tuyển dụng nhân lực tương đối dễ dàng.

+ Agile, có thể cải thiện quy trình cho mỗi lần lặp; nếu lần này không ổn, hoàn toàn có thể cải thiện
ở những lần tiếp theo. Tuy nhiên, với Waterfall, chúng ta chỉ có thể nhìn ra được những điểm cần
cải thiện sau khi dự án hoàn thành, do đó chỉ có thể đúc rút, áp dụng kinh nghiệm cho các dự án
tiếp theo.

Agile và Waterfall nên chọn cái nào?

Mỗi mô hình đều có những ưu nhược khác nhau, quan trọng tùy từng trường hợp dự án để áp
dụng mô hình phù hợp.


Ưu nhược của mô hình Agile:

Ưu điểm:

Mô hình phát triển Agile có thể cung cấp sản phẩm và các tính năng mới cho người dùng với tốc
độ nhanh hơn. Việc vừa phát triển vừa thực hiện được các phản án yêu cầu từ khách hàng đôi
với sản phẩm sẽ có lợi cho cả phía dự án và phía khách hàng.

Nhược điểm:

Do quá linh hoạt nên nếu không thường xuyên rà soát lại phương châm ban đầu rất dễ bị lệch
hướng phát triển.


Ưu nhược của mô hình Waterfall:

Ưu điểm:
Dễ dàng lập kế hoạch và dự trù ngân sách. Người chịu trách nhiệm phát triển cho mỗi quy trình
đòi hỏi là người có chuyên môn cao nên đảm bảo tính ổn định và chỉn chu của dự án, không yêu
cầu bất kỳ công nghệ nào khác ngoài quy trình.

Nhược điểm:

Nếu phát hiện ra vấn đề trong giai đoạn đầu sau khi kết thúc dự án, sẽ tốn nhiều thời gian và chi
phí phát triển lại.

Agile và Waterfall là các phương pháp phát triển phần mềm rất khác nhau và có điểm mạnh theo
cách tương ứng. Việc nắm được yêu cầu và bản chất của mỗi dự án sẽ giúp chọn lựa mô hình
phát triển phù hợp và đạt hiệu quả.

You might also like