chuyển tiêu điểm đổi SỐ
Đổi mới quy trình phát triển phần mềm để
phát triển
Bá Tuấn – Thanh Huyền
Mô hình đầu tiên được sử dụng rộng rãi trong ngành công nghiệp phần mềm là Waterfall. Những năm gần đây, sự phổ biến của mô hình này đã giảm nhiều do sự bất cập của Waterfal và nó đang dần bị lấn át bởi các phương pháp phát triển phần mềm linh hoạt (Agile Software Development). Agile là gì và có nên áp dụng Agile thay thế Waterfall để phát triển phần mềm tại BIDV?
cung cấp phản hồi để cải tiến và hoàn thiện. Ngược lại, phương pháp này cũng có những hạn chế nhất định. Dự án được chia nhỏ nên khó lên kế hoạch bàn giao cả sản phẩm cuối và các thành viên cần được đào tạo, hướng dẫn để nắm bắt được phương pháp này. Agile đòi hỏi sự hợp tác như cam kết về thời gian của các thành viên trong suốt dự án, phải có sự tham gia tích cực của người dùng, mỗi thành viên phải có khả năng chủ động hoàn thành công việc. Khi nào Agile, khi nào Waterfall? Đây là một câu hỏi khó, không dễ trả lời. Bảng dưới dây có thể là một phép so sánh:
Lợi ích của Agile Agile là mô hình phát triển phần mềm linh hoạt, dựa trên phương thức lặp (iterative) và tăng trưởng (incremental). Nó sẽ gắn kết khách hàng vào quy trình phát triển của phần mềm, mọi người cố gắng cho ra sản phẩm càng nhanh càng tốt; rồi đưa cho khách hàng dùng thử và phản hồi lại. Đội ngũ phát triển sau đó sẽ tiếp tục phát triển các giai đoạn tiếp theo. Khác với Agile, Waterfall là quá trình phát triển phần mềm được chia thành các giai đoạn khác nhau và thực hiện tuần tự; đầu ra của giai đoạn này là đầu vào của giai đoạn
30
tiếp theo và không có sự chồng chéo. Việc tiếp cận tuần tự từ trên xuống dưới như vậy giống như dòng chảy của một thác nước nên mô hình này được đặt tên là mô hình thác nước. Phương pháp Agile hiệu quả hơn phương pháp Waterfall truyền thống ở một số điểm như dự án được chia thành các phần nhỏ, riêng biệt, không phụ thuộc lẫn nhau và có thể thay đổi ở các giai đoạn. Agile phù hợp với các dự án chưa xác định mục tiêu rõ ràng. Việc chia nhỏ dự án cho phép đội dự án bàn giao từng phần. Agile khuyến khích thành viên và khách hàng
Đầu tư Phát triển Số 288 Tháng 7. 2021
Agile
Waterfall
Nhu cầu khách hàng và yêu cầu về giải pháp thay đổi thường xuyên
Điều kiện thị trường ổn định và có thể tiên lượng
Cần cộng tác với khách hàng và có thể cung cấp các phản hồi nhanh, khách hàng nắm rõ hơn về những gì họ mong muốn
Yêu cầu rõ ràng và luôn ổn định
Vấn đề rất phức tạp, giải pháp không rõ từ đầu và phạm vi không được xác định rõ
Khách hàng không thể cộng tác thường xuyên
Đặc tả sản phẩm có thể thay đổi, và những sáng tạo luôn được ưu tiên …
Công việc tương tự những gì đã làm trước đó và giải pháp là rất rõ ràng. Đặc tả chi tiết có thể làm ra với sự dự đoán rõ ràng và chính xác …