Требования, конечно, меняются. Иногда. Но гораздо чаще случается, что аналитик не до конца выдавил из заказчика и стейкхолдеров все требования, оставив множество умолчаний ("как нет этой функции? а мы думали, она будет! разве о ней нужно было отдельно говорить?")
Я расскажу и покажу техники, позволяющие задать нужные вопросы, выявить максимальное количество требований на ранних этапах анализа, и обсудить нужность этих требований и их приоритеты заранее, а не при сдаче-приемке. Как правило, после применения всех техник объем требований и юзкейсов для обсуждения возрастает в 1.5-2 раза.
Возможно, многие техники вы уже применяете, а о некоторых даже не слышали; я попробую свести их в единую систему.
Вот некоторые техники (только названия!): анализ именованных сущностей, расширенные матрицы CRUD, контекстный анализ/user centered design, анализ жизненного цикла и т.д.