Сбор и анализ бизнес-требований являются критически важными процессами в любом проекте, поскольку они определяют основу для формирования конечного решения. Разработка бизнес-требований в ряде случаев может осуществляться представителями заинтересованных сторон. В некоторых случаях команда разработки при сотрудничестве с заинтересованными сторонами может разрабатывать бизнес-требования, чаще всего этим занимаются бизнес-аналитики совместно с руководителями команды разработки.

Разработка бизнес-требований

Бизнес-требования к программному обеспечению — это формальное описание целей, которые организация планирует достичь с помощью разрабатываемой системы. Они представляют собой совокупность бизнес-целей заказчика системы и описывают необходимость изменений или внедрения новых процессов для повышения эффективности, уменьшения затрат, улучшения сервиса или достижения других конкурентных преимуществ. Иными словами, бизнес-требования обосновывают, почему нужно реализовать проект, и определяют ожидаемые результаты его выполнения.

  • Требования не ограничиваются техническими деталями реализации, они начинаются с высокоуровневого понимания того, какие изменения желает видеть организация и какие проблемы эти изменения решат. Главное здесь — умение связать технологические возможности с бизнес-потребностями, что требует не только технических знаний, но и понимания специфики рыночного сектора и стратегии бизнеса.
  • Бизнес-требования часто выражают люди, отвечающие за финансирование проектов, маркетинг либо прямые пользователи системы. Это подчеркивает необходимость включения ключевых заинтересованных сторон в процесс определения требований для обеспечения их соответствия бизнес-целям.

Сбор бизнес-требований

Процесс сбора бизнес-требований — это коллаборативный подход, вовлекающий различных участников проекта с целью полного понимания и точного определения целей бизнеса. Этот процесс требует открытого общения и взаимодействия между всеми заинтересованными сторонами, например между финансирующих проект заказчиками, топ-менеджментом, отделами маркетинга, а также ответственными за итоговый продукт. Одной из ключевых задач аналитика в разработке бизнес-требований является фасилитация этого процесса, обеспечение взаимопонимания между участниками, а также выявление и резолюция конфликтных требований и интересов:

  • Заинтересованные стороны могут столкнуться со сложностями в определении целей в измеримом виде и согласовании общей картины проектных ожиданий. Отсутствие ясности в определении бизнес-целей может привести к недопониманию в команде и затруднить оценку прогресса проекта и достижения конечных результатов.

Сбор бизнес-требований начинается с четкого понимания добавляемой ценности проекта и формулирования измеримых показателей успеха на основе бизнес-целей. Затем следует процесс приоритезации требований и управления конфликтами, который обеспечивает выбор наиболее важных и ценных требований для осуществления проекта.

  • Иногда заинтересованные стороны могут избегать формулирования конкретных и измеримых целей из страха последующей ответственности. К тому же, множество различных точек зрения может усложнить достижение консенсуса о том, что именно является приоритетным для проекта. Аналитик, таким образом, играет ключевую роль: ему необходимо помочь разобраться в этом многообразии идей и обеспечить выработку согласованных и достижимых бизнес-требований, которые будут поддерживать основные бизнес-цели проекта.

Великое многообразие бизнес-требований

Процесс разработки бизнес-требований может быть выстроен самыми различными способами - фактически не существует единого "рецепта" для универсальной разработки бизнес-требований. Проиллюстрируем это несколькими примерами формирования бизнес-требований: 

* Примеры

Таким образом, не может быть универсальной методологии или способа для эффективной работы с бизнес-требованиями для всех возможных сценариев разработки ПО. Как быть системному аналитику? 

Бизнес-требования являются фундаментом для всех последующих этапов разработки — от анализа и проектирования до тестирования и внедрения, гарантируя, что проект развивается в правильном направлении и принесет ожидаемую пользу организации.

  • Системному аналитику бизнес-требования в конечном счете нужны для формирования функциональных и нефункциональных требований, для постановки четких задач на разработку. Редко, когда бизнес-цели, связанные с разработкой ПО лежат в зоне ответственности системного-аналитика. И редко, когда бизнес-требования исходят от системного аналитика - чаще всего системные аналитики лишь способствуют их формированию.
  • В этой связи, основной задачей системного аналитика является достижение четко определенных документированных артефактов на которые команда разработки сможет опираться в дальнейшей работе и которые позволят снизить риск незапланированных изменений в процессе работы. 

Бизнес-требования как проблемы, возможности и решения

Бизнес-требования часто можно рассматривать как отражение проблем, которые требуют решения или возможностей, которыми желательно воспользоваться - не всегда разработка бизнес-требований применима или уместна, причем даже в рамках больших бюрократизированных организаций. 

Прежде чем углубляться в конкретные методологии и подходы разработки бизнес-требований рассмотрим более общий подход:

Этап 1: Исследование пространства проблем и возможностей

  • Исследование: необходимо изучить текущее состояние и динамику рассматриваемой доменной области, проанализировать результаты и определить проблемы и возможности, которые лягут в основу целей и задач поиска решений. 
  • Документирование: желательно зафиксировать обнаруженные проблемы или выявленные возможности для последующего анализа.

Этап 2: Определение пространства решений

  • Определение целей и задач: если возможно или применимо, проблемы и возможности желательно преобразовать в конкретные цели и задачи для которых будут определяться решения.
  • Анализ возможных решений: определение реализуемых решений и их потенциала воздействия относительно обнаруженных проблем или возможностей.
  • Сравнительный анализ: изучение и сравнение различных альтернативных решений, которые могут быть применены, включая их недостатки и достоинства.
  • Оценка и выбор: установление критериев и приоритетов для выбора наиболее предпочтительных решений, прежде всего с точки зрения значимости и срочности целей, задач и объема доступных ресурсов для решений. 
  • Документация связей: документарное отражение связей между проблемами/возможностями и решениями. 

В последующих частях урока будет подробнее рассмотрены действия и определены рекомендации для этого подхода, а также некоторые техники и инструменты для сбора и выявления бизнес-требований.

Бизнес-правила

Часто в связи с бизнес-требованиями рассматривают набор условий, ограничений и предпочтений, связанных с устоявшимися практиками, законами и договоренностями, связанными с решениями проблем и реализацией возможностей для которых разрабатывается ПО.  

Прежде чем изучать способы выявления проблем возможностей и решений также будут рассмотрены бизнес-правила и способы работы с ними - именно они часто определяют границы для всего остального. 

Резюме

На практике, работа системного аналитика с бизнес-требованиями чаще всего предполагает их анализ и уточнение для последующего формирования функциональных и нефункциональных требований или других проектных артефактов. 

Участие системного-аналитика в процессе разработки бизнес-требований для обеспечениях их качества крайне важно для предотвращения ошибок или неточностей, которые могут повлечь значительные изменения на этапе разработки ПО. Обеспечение качественна бизнес-требований и их анализ позволяют идентифицировать проблемы на ранних этапах и избежать трудностей в последующих этапах.  

Помимо опыта заинтересованных сторон и участников команды разработки, существуют множество техник бизнес-анализа и методов, которые позволяют оценить качество требований или облегчить их анализ для их совершенствования и верификации - наиболее эффективными и распространенными часто являются прототипирование, моделирование.