Я видел проекты, в которых изменения требований управляются очень тяжелой системой контроля изменений. Это плохо. Множество важных изменений не происходит, потому что заказчик не хочет испытывать трудности с отправкой контроля изменений, поэтому программное обеспечение не соответствует его потребностям. Некоторые небольшие изменения добавляются «под радар», чтобы избежать процесса, поэтому программное обеспечение даже не соответствует тому, что вы думаете.
С другой стороны, я также видел проекты, в которых руководитель проекта считает «реагирующим» означает заставить кодеров отвечать на каждый запрос пользователей, а это просто означает, что вы никогда не завершите разработку ядра, а ваш код превратится в громоздкий беспорядок на вершине. хак. По сути, у вас сейчас нет разработчиков, у вас есть команда высококвалифицированных инженеров по продажам.
Таким образом, можно надеяться, что между этими двумя полюсами есть ситуация, которая работает хорошо, и я ожидаю, что то, что работает лучше всего для вас, это как личный выбор, так и расположение. Определенно стоит учитывать стоимость каждого изменения. В такой среде, как Scrum, вы можете выразить стоимость в баллах, и команда может обменять работу, которую они выполняют на каждой итерации, на общую доступную нагрузку. Если у вас есть менеджер по продукту, вы можете попросить этого человека оценить ожидаемую выгоду от запроса на изменение или функцию. Обычно это делается с точки зрения защищенного дохода (сколько клиентов уйдет, если вы этого не сделаете) и привлеченного дохода (сколько клиентов придет, если вы это сделаете). Это может помочь с установлением приоритетов, но также может отражать предвзятость или личные предпочтения менеджера по продукту.