Прежде, чем обращаться к стейкхолдеру, я отвечаю на три вопроса:
- Что необходимо выяснить? Анализирую состояние системы и требования, составляю список вопросов. Часто прибегаю к изучению аналогичных решений, так как заказчик сам не понимает, что хочет.
- У кого это можно выяснить? Изучаю имеющуюся документацию, думаю, какой стейкхолдер может ответить на вопросы.
- Каким образом? Выбираю наиболее подходящую технику сбора требований.
Хорошо, требования собраны, что дальше? Теперь их нужно проработать, и тут нам пригодятся те самые схемы UML (для системных требований) и BPMN (для бизнес-требований). На практике они существенно облегчают понимание требования, позволяют полно описать его и выявить мелкие, но важные детали. Можно составить схемы только для личного пользования – визуализация лучше всего помогает понять задачу.
Что касается пользовательских требований, то тут на помощь приходят пользовательские истории и сценарии. Мне нравится их писать – в голове выстраивается полный пошаговый сценарий с возможными ответвлениями, что порождает новые вопросы и уточнения. Чем больше удастся предусмотреть ответвлений, тем меньше времени уйдет на тестирование и возможную доработку системы.