Останнім часом я бачив безліч дописів, які говорять про те, що одна з головних причин, чому Agile використовується, - це те, що клієнти часто змінюють вимоги.
Однак, скажімо, клієнти не часто змінюють вимоги . Насправді до клієнтів є тверді вимоги, хоча це може бути трохи розпливчастим (але нічого нерозумно невиразним), але я все одно використовую Agile.
Причина, по якій я використовую Agile, полягає в тому, що програмне забезпечення є досить складним, що є деталі, проблеми, які я б не розпізнав, поки фактично не зіткнувся з ними. Я міг би зробити повний масштабний підхід планування, як водоспад, але тоді знадобиться кілька місяців, щоб доопрацювати всі проекти високого рівня та підписи низького рівня. Однак для системи є дуже специфічний, фіксований архітектурний дизайн.
Моє запитання: чи це вважатиметься поганим, ковбойське кодування, анти-шаблон тощо? Потрібно ми використовувати водоспад і планувати якомога більше детальних деталей, перш ніж розпочати кодування, коли вимоги стабільні замість цього менталітету «давайте зробимо» в Agile?
EDIT: Основний момент тут полягає в тому, що: ми НЕ МОЖЕ звинуватити клієнтів у зміні вимог. Припустимо, що клієнти вказали на дуже конкретну проблему, розкажіть нам список бажань в дуже розумних деталях і залиште нас у спокої (тобто клієнти мають свої продуктивні справи, більше не помиляйтесь ними. Тільки демонстрація для них поблизу закінчуються, коли у вас мінімальний робочий прототип). Чи було б неправильним використовувати Agile в цьому сценарії?