Исторически подходы к сбору требований считались линейными: аналитик общался с разными стейкхолдерами, формировал перечни пожеланий и оформлял их в спецификацию. На деле, чем крупнее проект, тем сложнее выявить и отследить пересечения, дублирования и прямо противоположные задачи между требованиями разных групп заинтересованных лиц.
В масштабных системах часто возникают:
Ошибка на этапе анализа способна привести к конфликтам при реализации, увеличению сроков, неработающим механизмам или невозможности интеграции модулей.
Профессиональный системный аналитик вынужден использовать техники:
Ключевые особенности:
Является ли приоритизация требований способом решения противоречий?
Нет, приоритизация — это расстановка порядка реализации. Противоречия должны быть решены до их помещения в бэклог, путем согласования, компромисса или пересмотра требований.
Можно ли выявить все взаимосвязи только с помощью автоматических инструментов?
Нет, автоматизация (например, traceability tools) помогает, но вложенные бизнес-смыслы, нюансы процессов и скрытые конфликты фиксируются только через обсуждение с реальными стейкхолдерами.
Означает ли пересечение требований, что одно из них обязательно лишнее?
Нет, требования могут перекрываться по формулировкам, но иметь разные конечные цели. Нужно проверять смысл и искать возможности для их агрегации или раскрытия.
Негативный кейс: В банковской CRM два отдела независимо попросили внедрить "быстрый поиск клиентов". Требования реализовали отдельно, не выявили дублирование — привело к появлению двух разных поисков, запутанных сценариев.
Плюсы:
Минусы:
Положительный кейс: Аналитик организовал воркшопы с ключевыми фрагментами требований, матрицу зависимостей, итерационно согласовывал сценарии с заказчиками и исполнителями.
Плюсы:
Минусы: