Câu trả lời cho câu hỏi đó có thể lấp đầy một cuốn sách.
Tôi nghĩ một trong những lý do chính là sự phát triển nhanh tập trung vào khả năng cung cấp. Nó luôn tập trung vào việc cung cấp chính xác những gì khẩn cấp nhất ở đây và bây giờ.
Một lý do khác là các thực tiễn lập kế hoạch và ước tính dựa trên câu chuyện mà các quy trình nhanh theo sau đưa ra ước tính tốt hơn nhiều về những gì có thể được giao và khi nào.
Một ví dụ điển hình về cách lập kế hoạch dựa trên câu chuyện hiệu quả, là một dự án tôi đã làm việc. Trong một vài tháng (trước khi chúng tôi áp dụng phát triển nhanh), người lãnh đạo dự án tin rằng chúng tôi có thể giao hàng đúng hạn và đó là khoảng 18 tháng kể từ thời hạn. Tất cả các nhà phát triển đều có cảm giác rằng điều đó có thể không thực tế. Sau khi bắt đầu lập kế hoạch nhanh, nhà lãnh đạo dự án vẫn có một đánh giá lạc quan về tình hình. Nhưng chỉ sau một vài lần chạy nước rút, trưởng dự án nhận ra rằng nhóm chỉ đơn giản là không có khả năng cung cấp tất cả các yêu cầu về thời gian dự kiến. Và đó vẫn là hơn 12 tháng kể từ thời hạn.
Vì vậy, thực hành nhanh nhẹn cũng làm cho thực tế rõ ràng sớm hơn rất nhiều.
Và cuối cùng, các nhóm nhanh nhẹn có xu hướng thường xuyên áp dụng các thực tiễn tạo ra chất lượng mã tốt hơn, ví dụ như phát triển dựa trên thử nghiệm, tái cấu trúc thường xuyên, tích hợp liên tục, đánh giá mã ngang hàng / lập trình cặp, v.v. Không phải các dự án phần mềm truyền thống cấm các thực tiễn này, họ chỉ có xu hướng không được tập trung nhiều