Я вірю у відштовхування поганих вимог. Але я також вважаю, що коли ви даєте найкращий результат, щоб пояснити, чому вони погані, і вони все ще хочуть їх, тоді ви погоджуєтесь і виконуєте свою роботу.
Наприклад, у мене були люди, які хочуть, щоб вимоги, які взаємно виключали те, що програма вже робить. Якщо я це зробити, то це, 100% гарантовано, зламається. Тож я надсилаю вимогу назад і кажу їм, що це порушить це інше ділове правило, яке ми вже маємо, і чи хочуть вони змінити це правило? Часто мала група, яка висуває певні вимоги, не має доступу до більш широкої картини того, що може робити решта програми. Більшу частину часу, коли я надсилав один із них назад, замовник зрозумів, що загальне правило є більш критичним, і вирішив, що потрібна зміна не варта. Коли вони вирішили внести зміни, вони зробили це після консультацій з людьми, які висунули початкову вимогу.
Іноді просто запитання роз'яснень змушують їх побачити проблему не так просто, як вони думали. Іноді хочеться запитати, чому вони чогось хочуть, і прийти до реальної потреби, яка є рушієм змін. Як тільки ви це зрозумієте, часто простіше бачити альтернативне рішення, яке працює для вас як розробника та відповідає їх потребам. Якщо ви можете представити це рішення з точки зору того, як воно краще задовольнить їхні потреби, ніж органічні пропозиції, ви значно покращили ваші шанси на прийняття змін.
Іноді, коли зміна створює хаос на базовому рівні у вашому дизайні, достатньо лише дати їм нову оцінку годин, які потребують зміни, щоб її вимкнути. Якщо ви поєднаєте це з оцінкою ризику, яка вказує, на яку критичну функціональність ви можете вводити нові помилки, щоб сказати їм, що 3 людини потребуватимуть 6 тижнів зусиль, раптом це вже не так важливо.
Але іноді ти їм кажеш, що це не дуже гарна ідея, і чому вони все ще кажуть: "Шкода, що нам це потрібно". Ви виграєте деякі, і ви програєте, а іноді потреби бізнесу справді були змінені, і заявка повинна відповідати цьому. Після того, як рішення буде остаточно ухвалене, вже не час ставити під сумнів, що ви робите, і час продовжувати його виконувати. Якщо ви задокументували свої заперечення, то ви особисто все одно повинні бути в хорошому місці, коли це перевищує бюджет і спричиняє нові і більш захоплюючі помилки. І вони, можливо, ще охочіше будуть слухати вас наступного разу, коли ви складете послужний список правильності таких питань.
Ключ до перемоги у багатьох цих дискусіях (ніхто не перемагає всіх) - це спершу створити досвід для того, щоб знати, про що ви говорите. Далі надішліть письмовий документ, у якому зазначено, що вас турбує (багато керівників ризикують несприятливо; вони, швидше за все, не хочуть, щоб у когось був документ, який згодом виявить їх неправильним, тому вони приділять більше уваги тому, що ви виклали в письмовій формі) і нарешті щоб переконатися, що вони розуміють усі витрати (не лише години, а ризики для безпеки, введення нових помилок, відсутні терміни тощо) на внесення змін. Зміни не є безкоштовними, і вони повинні це розуміти. Наступний ключ - це робити як дорослий, а не як тьмяна дитина ("але я не хочу використовувати ... тому що мені це не подобається"). Зробіть діловий випадок, щоб цього не робити, і ви отримаєте набагато далі, відштовхуючись від поганої вимоги.