Управление требованиями в краткосрочной перспективе для Agile проектов кажется мне решенной проблемой.
С точки зрения Scrum новые требования или изменения существующих требований доставляются через пользовательские истории. А пользовательские истории, сгруппированные под Epic или Feature, облегчают выполнение более сложных и сложных требований.
Конечно, история пользователя технически не является документом требований. Это управляемая группа работ, которая сопоставляется с тем, что часто называют вертикальным срезом функциональности. И объем этих историй может быть определен однозначно с помощью критериев принятия (AC).
Таким образом, хотя пользовательские истории не являются формальными требованиями, их просмотр может дать вам довольно четкое представление об их основных требованиях. В краткосрочной перспективе.
Я говорю в краткосрочной перспективе, потому что по мере развития проекта количество пользовательских историй увеличивается. Таким образом, просмотр постоянно расширяющегося списка историй, чтобы найти Требование, становится все менее и менее эффективным с течением времени.
Эта проблема усугубляется, когда вы рассматриваете пользовательские истории, которые расширяют, заменяют или даже опровергают предыдущие истории.
Теперь представьте 2-летний разрыв между итерациями разработки проекта (стабильный в производстве). Первоначальная команда ушла, как и все их знания.
Если первоначальная команда знала, что это произойдет (например, это характер бизнеса), то какие меры они могли бы принять, чтобы помочь последующим командам?
Несомненно, отставание предоставит некоторую информацию, но вряд ли она будет легко просматриваться.
Итак, что можно сделать, чтобы помочь последующим командам понять состояние проекта, в том числе, почему и как он туда попал?
По моему опыту, следующие вещи не работают:
- Очистка журнала ожидания для удаления или обновления предыдущих пользовательских историй, чтобы журнал можно было прочитать как документ с требованиями.
- Документация Спринты, где членам команды поручено документировать текущее состояние системы.
- Документация через поведенческие тесты . Этот подход - единственный, который я видел, приблизился к работе. К сожалению, тесты кодированного поведения являются жертвами проблемы именования. Хотя тесты могут правильно документировать систему, заставить колеблющуюся команду разработчиков писать свои тесты, следуя той же терминологии, формулировке и стилю домена, практически невозможно.
Итак, еще раз:
Как управлять требованиями Agile проекта в долгосрочной перспективе?