Управління вимогами в короткостроковій перспективі для Agile проектів здається мені вирішеною проблемою.
З точки зору Scrum нові вимоги або зміни існуючих вимог надходять через Історії користувачів. А Історії користувачів, згруповані під епічні або Feature, полегшують доставку більш складних вимог.
Звичайно, історія користувача технічно не є документом з вимогами. Це керована група робіт, яка відображає те, що часто називають вертикальним фрагментом функціональності. І обсяг цих історій може бути визначений однозначно за допомогою використання критеріїв приймання (AC).
Отже, хоча Історії користувачів не є формальними вимогами, перегляд їх може дати досить чітке уявлення про їх основні вимоги. За короткий термін.
Я кажу в короткостроковій перспективі, оскільки в міру прогресування проекту кількість історій користувачів збільшується. Таким чином, перегляд постійно зростаючого списку Історій для пошуку вимоги стає з часом все менш ефективним.
Ця проблема ускладнюється, якщо враховувати Історії користувачів, які розширюють, замінюють або навіть заперечують попередні Історії.
Тепер уявіть собі розрив у 2 роки між ітераціями розвитку проекту (стабільним у виробництві). Оригінальної команди вже немає, так і всі їхні знання.
Якщо початкова команда знала, що це відбудеться (наприклад, це характер бізнесу), то які заходи вони могли б вжити, щоб допомогти наступним командам?
Звичайно, відставання надасть деяку інформацію, але навряд чи вона може легко переглядатись.
Отже, що можна зробити, щоб допомогти наступним командам зрозуміти стан проекту, в тому числі, чому і як він туди потрапив?
На мій досвід, такі речі не працюють:
- Догляд за "Блоком", щоб видалити або оновити попередні Історії користувачів, так що Блокування можна прочитати як документ із вимогами.
- Документація Спринти, де учасники команди мають завдання документувати поточний стан системи.
- Документація через тести поведінки . Цей підхід є єдиним, що я бачив, як наблизився до роботи. На жаль, тести кодованої поведінки є жертвою проблеми називання. Хоча тести можуть належним чином задокументувати систему, змусити колективу розробників, що коливається, написати свої тести за тією ж терміналогією, формулюванням та стилем домену майже неможливо.
Отже, ще раз:
Як можна керувати вимогами Agile проекту в довгостроковій перспективі?