<aside> ©️ IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh

</aside>

SDLC Models: Predictive (Waterfall), Iterative, Incremental, Adaptive (Agile) | IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh

SDLC Models: Predictive (Waterfall), Iterative, Incremental, Adaptive (Agile) | IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh

Một trong những khái niệm cơ bản của quá trình xây dựng phần mềm là mô hình vòng đời phát triển phần mềm (Software Development Life Cycle model, SDLC). Trong bài viết này mình sẽ giới thiệu 4 mô hình SDLC, tức 4 cách tiếp cận quản lý dự án.

Mô Hình Predictive (Waterfall)

<aside> 💭 Khách hàng biết rõ họ muốn gì. Mình 'bảy lần đo, một lần cắt', làm mọi việc theo tuần tự, hoàn thành từng bước một và không quay lại sửa. Sản phẩm được bàn giao một lần duy nhất khi hoàn tất.

</aside>

Waterfall | IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh

Waterfall | IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh

Mô hình Predictive (Waterfall) của SDLC là một mô hình phát triển phần mềm theo trình tự và tuần tự trong đó các giai đoạn dự án diễn ra theo thứ tự. Phương pháp này còn được gọi là truyền thống (traditional) hoặc cổ điển (classical), tập trung vào việc lập kế hoạch và xác định các nhu cầu của một dự án trước khi bắt đầu. Mô hình này giả định rằng nhóm di chuyển một bước một lần, đảm bảo công việc của họ hoàn thành trước khi chuyển sang giai đoạn tiếp theo. Mục tiêu là giảm khả năng thay đổi trong quá trình dự án.

Quá trình tiến triển như nước trong một dòng thác đổ, do đó được gọi là Waterfall.

Vào những năm 80, phương pháp này bắt đầu được sử dụng rộng rãi trong lĩnh vực CNTT, vì nó cho phép các nhóm dự án giảm thiểu các rủi ro tiềm ẩn. Các nhà phân tích kinh doanh thu thập các yêu cầu và một tài liệu duy nhất gọi là "SRS (System Requirements Specification" được viết ra.

Ngày nay, thay vì SRS, các nhóm dự án soạn thảo "PRD (Product Requirement Specification)" và chuyển chúng đến đội thiết kế (UI-UX). Sau đó, tiến vào giai đoạn phát triển (viết mã của phần mềm), sau đó là kiểm thử phần mềm và một khi hoàn tất - giai đoạn bàn giao.

Với phương pháp này, có một điểm yếu lớn - khách hàng chỉ nhìn thấy kết quả cuối cùng và chỉ có thể yêu cầu sửa đổi sau khi dự án đã hoàn thành. Bất kỳ yêu cầu thay đổi nào cũng có thể bị từ chối bởi công ty phát triển phần mềm, tham chiếu đến các điểm trong hợp đồng đã được thỏa thuận và ký một thời gian trước đó.

PMI (Project Management Institute) khuyến nghị sử dụng phương pháp thác nước (waterfall) khi yêu cầu dự án đã được xác định rõ và không có khả năng thay đổi đáng kể trong suốt vòng đời của dự án. Phương pháp thác nước được khuyến nghị cho các dự án có sự rõ ràng và ổn định về yêu cầu, các thành viên quen với kiểu dự án và có solution đã được kiểm chứng, và có một sự tiến triển tuần tự của các nhiệm vụ từ một giai đoạn sang giai đoạn khác. Ngoài ra, các dự án có ngân sách cố định, thời gian hoàn thành và các sản phẩm cụ thể cũng là ứng cử viên phù hợp cho phương pháp thác nước.

Mô Hình Iterative (mô hình lặp lại)

<aside> 💭 Khách hàng chưa biết chính xác họ muốn gì. Mình sẽ làm - review - sửa liên tục cho đến khi ra được sản phẩm mà khách hàng hài lòng.

</aside>