Сбор и анализ бизнес-требований являются критически важными процессами в любом проекте, поскольку они определяют основу для формирования конечного решения. Разработка бизнес-требований в ряде случаев может осуществляться представителями заинтересованных сторон. В некоторых случаях команда разработки при сотрудничестве с заинтересованными сторонами может разрабатывать бизнес-требования, чаще всего этим занимаются бизнес-аналитики совместно с руководителями команды разработки.
Разработка бизнес-требований
Бизнес-требования к программному обеспечению — это формальное описание целей, которые организация планирует достичь с помощью разрабатываемой системы. Они представляют собой совокупность бизнес-целей заказчика системы и описывают необходимость изменений или внедрения новых процессов для повышения эффективности, уменьшения затрат, улучшения сервиса или достижения других конкурентных преимуществ. Иными словами, бизнес-требования обосновывают, почему нужно реализовать проект, и определяют ожидаемые результаты его выполнения.
- Требования не ограничиваются техническими деталями реализации, они начинаются с высокоуровневого понимания того, какие изменения желает видеть организация и какие проблемы эти изменения решат. Главное здесь — умение связать технологические возможности с бизнес-потребностями, что требует не только технических знаний, но и понимания специфики рыночного сектора и стратегии бизнеса.
- Бизнес-требования часто выражают люди, отвечающие за финансирование проектов, маркетинг либо прямые пользователи системы. Это подчеркивает необходимость включения ключевых заинтересованных сторон в процесс определения требований для обеспечения их соответствия бизнес-целям.
Сбор бизнес-требований
Процесс сбора бизнес-требований — это коллаборативный подход, вовлекающий различных участников проекта с целью полного понимания и точного определения целей бизнеса. Этот процесс требует открытого общения и взаимодействия между всеми заинтересованными сторонами, например между финансирующих проект заказчиками, топ-менеджментом, отделами маркетинга, а также ответственными за итоговый продукт. Одной из ключевых задач аналитика в разработке бизнес-требований является фасилитация этого процесса, обеспечение взаимопонимания между участниками, а также выявление и резолюция конфликтных требований и интересов:
- Заинтересованные стороны могут столкнуться со сложностями в определении целей в измеримом виде и согласовании общей картины проектных ожиданий. Отсутствие ясности в определении бизнес-целей может привести к недопониманию в команде и затруднить оценку прогресса проекта и достижения конечных результатов.
Сбор бизнес-требований начинается с четкого понимания добавляемой ценности проекта и формулирования измеримых показателей успеха на основе бизнес-целей. Затем следует процесс приоритезации требований и управления конфликтами, который обеспечивает выбор наиболее важных и ценных требований для осуществления проекта.
- Иногда заинтересованные стороны могут избегать формулирования конкретных и измеримых целей из страха последующей ответственности. К тому же, множество различных точек зрения может усложнить достижение консенсуса о том, что именно является приоритетным для проекта. Аналитик, таким образом, играет ключевую роль: ему необходимо помочь разобраться в этом многообразии идей и обеспечить выработку согласованных и достижимых бизнес-требований, которые будут поддерживать основные бизнес-цели проекта.
Великое многообразие бизнес-требований
Процесс разработки бизнес-требований может быть выстроен самыми различными способами - фактически не существует единого "рецепта" для универсальной разработки бизнес-требований. Проиллюстрируем это несколькими примерами формирования бизнес-требований:
* Примеры
Таким образом, не может быть универсальной методологии или способа для эффективной работы с бизнес-требованиями для всех возможных сценариев разработки ПО. Как быть системному аналитику?
Бизнес-требования являются фундаментом для всех последующих этапов разработки — от анализа и проектирования до тестирования и внедрения, гарантируя, что проект развивается в правильном направлении и принесет ожидаемую пользу организации.
- Системному аналитику бизнес-требования в конечном счете нужны для формирования функциональных и нефункциональных требований, для постановки четких задач на разработку. Редко, когда бизнес-цели, связанные с разработкой ПО лежат в зоне ответственности системного-аналитика. И редко, когда бизнес-требования исходят от системного аналитика - чаще всего системные аналитики лишь способствуют их формированию.
- В этой связи, основной задачей системного аналитика является достижение четко определенных документированных артефактов на которые команда разработки сможет опираться в дальнейшей работе и которые позволят снизить риск незапланированных изменений в процессе работы.
Бизнес-требования как проблемы, возможности и решения
Бизнес-требования часто можно рассматривать как отражение проблем, которые требуют решения или возможностей, которыми желательно воспользоваться - не всегда разработка бизнес-требований применима или уместна, причем даже в рамках больших бюрократизированных организаций.
Прежде чем углубляться в конкретные методологии и подходы разработки бизнес-требований рассмотрим более общий подход:
Этап 1: Исследование пространства проблем и возможностей
- Исследование: необходимо изучить текущее состояние и динамику рассматриваемой доменной области, проанализировать результаты и определить проблемы и возможности, которые лягут в основу целей и задач поиска решений.
- Документирование: желательно зафиксировать обнаруженные проблемы или выявленные возможности для последующего анализа.
Этап 2: Определение пространства решений
- Определение целей и задач: если возможно или применимо, проблемы и возможности желательно преобразовать в конкретные цели и задачи для которых будут определяться решения.
- Анализ возможных решений: определение реализуемых решений и их потенциала воздействия относительно обнаруженных проблем или возможностей.
- Сравнительный анализ: изучение и сравнение различных альтернативных решений, которые могут быть применены, включая их недостатки и достоинства.
- Оценка и выбор: установление критериев и приоритетов для выбора наиболее предпочтительных решений, прежде всего с точки зрения значимости и срочности целей, задач и объема доступных ресурсов для решений.
- Документация связей: документарное отражение связей между проблемами/возможностями и решениями.
В последующих частях урока будет подробнее рассмотрены действия и определены рекомендации для этого подхода, а также некоторые техники и инструменты для сбора и выявления бизнес-требований.
Бизнес-правила
Часто в связи с бизнес-требованиями рассматривают набор условий, ограничений и предпочтений, связанных с устоявшимися практиками, законами и договоренностями, связанными с решениями проблем и реализацией возможностей для которых разрабатывается ПО.
Прежде чем изучать способы выявления проблем возможностей и решений также будут рассмотрены бизнес-правила и способы работы с ними - именно они часто определяют границы для всего остального.
Резюме
На практике, работа системного аналитика с бизнес-требованиями чаще всего предполагает их анализ и уточнение для последующего формирования функциональных и нефункциональных требований или других проектных артефактов.
Участие системного-аналитика в процессе разработки бизнес-требований для обеспечениях их качества крайне важно для предотвращения ошибок или неточностей, которые могут повлечь значительные изменения на этапе разработки ПО. Обеспечение качественна бизнес-требований и их анализ позволяют идентифицировать проблемы на ранних этапах и избежать трудностей в последующих этапах.
Помимо опыта заинтересованных сторон и участников команды разработки, существуют множество техник бизнес-анализа и методов, которые позволяют оценить качество требований или облегчить их анализ для их совершенствования и верификации - наиболее эффективными и распространенными часто являются прототипирование, моделирование.