Tôi đã thấy rất nhiều bài đăng gần đây nói rằng một trong những lý do chính tại sao Agile được sử dụng là vì khách hàng thường thay đổi các yêu cầu.
Tuy nhiên, giả sử khách hàng không thay đổi yêu cầu thường xuyên . Trên thực tế, các khách hàng có các yêu cầu vững chắc mặc dù có thể hơi mơ hồ (nhưng không có gì mơ hồ một cách vô lý), nhưng dù sao tôi cũng sử dụng Agile.
Lý do tại sao tôi sử dụng Agile là vì phần mềm đủ phức tạp để có những chi tiết, vấn đề mà tôi sẽ không nhận ra cho đến khi tôi thực sự phải đối mặt với chúng. Tôi có thể thực hiện một phương pháp lập kế hoạch nặng quy mô đầy đủ như thác nước, nhưng sau đó sẽ mất vài tháng để hoàn thiện tất cả các thiết kế cấp cao và chữ ký mã hóa cấp thấp. Có một thiết kế kiến trúc cố định rất cụ thể cho hệ thống mặc dù.
Câu hỏi của tôi là: Điều này sẽ được coi là xấu, mã hóa cao bồi, chống mẫu, vv ..? Chúng ta phải sử dụng thác nước và lập kế hoạch càng nhiều càng tốt chi tiết trước khi chúng ta bắt đầu viết mã khi các yêu cầu ổn định thay vì điều này 'hãy làm điều đó' trong Agile?
EDIT: Điểm chính ở đây là: chúng tôi KHÔNG THỂ đổ lỗi cho khách hàng thay đổi yêu cầu. Giả sử khách hàng chỉ cho chúng tôi một vấn đề rất cụ thể, cung cấp cho chúng tôi danh sách mong muốn với các chi tiết rất hợp lý và để chúng tôi yên (ví dụ: khách hàng có những việc hữu ích của riêng họ để làm, đừng làm phiền họ nữa. kết thúc khi bạn có một nguyên mẫu làm việc tối thiểu). Sẽ là sai khi sử dụng Agile trong kịch bản này?