Contents
- 1 Сбор требований
- 2 Выжимка по процессу формирования требований
- 2.1 Схема процесса разработки с уровнями требований
- 2.2 Формирование и анализ требований
- 2.3 Аттестация требований
- 2.4 Подготовка к интервью по сбору требований у заказчика
- 3 Классификация и описание требований на пути от бизнеса к технической реализации
- 3.1 Компания — Бизнес-требования
- 3.2 Заказчик — Документ требований заинтересованных лиц
- 3.3 Пользователь — Требования пользователя
- 3.3.1 Проблемы при формировании пользовательских требований
- 3.4 Системные требования
- 3.5 Функциональные требования
- 3.6 Нефункциональных требований
- 3.7 Требования предметной области
- 3.8 Требования к продукту
- 3.9 Организационные требования
- 3.10 Требования к интеграции
- 3.10.1 Интеграция через ESB
- 3.10.2 Интеграция точка-точка
- 3.10.3 Интеграция данных
- 3.11 Требования к пользовательскому интерфейсу
- 4 Управление требованиями
- 4.1 Классификация изменяемых требований
- 4.2 Процесс управления изменениями
- 5 Кто читает документацию
- 6 Как правильно сформулировать и контролировать цель проекта?
- 7 Документы процесса разработки и управления требованиями (по Вигерсу)
- 7.1 Документы процесса разработки требований
- 7.2 Документы процесса управления требованиями
- 7.3 Пример дорожной карты совершенствования процессов работы с требованиями
- 8 Документ по управлению требованиями
Бизнес-анализ — это структурированное изучение проблемы, имеющей отношение к бизнесу. Бизнес-анализ проводится, чтобы лучше понять проблему, а затем оценить, что требуется для ее устранения.
Бизнес-кейс/коммерческое предложение. Коммерческая цель или выгода является причиной выполнения проекта и может официально фиксироваться в документе, называющемся бизнес-кейсом, или коммерческим предложением. Этот документ обычно включает финансовые показатели (например, прирост выручки, снижение издержек и т.п.) или другие параметры (например, повышение уровня обслуживания потребителей, повышение мотивированности персонала и т.д.).
Сбор требований
Прежде чем начинать проект, обязательно нужно знать, какой результат (продукт) вы хотите получить. И порой этот продукт необходимо описать самым тщательным образом. Иными словами, нужно знать, какие требования заказчик предъявляет к продукту. Полный набор этих требований называют каталогом требований, или спецификацией.
Крупные и сложные проекты обычно насчитывают тысячи требований. Бизнес-анализ как раз и позволяет выявлять проблемы и определять, что требуется для их преодоления. В крупных проектах, таких, как разработка программного обеспечения, сбор требований является одним из важнейших этапов жизненного цикла проекта, котоорыый может занять несколько недель/месяцев.
Для выявления требований проводится серия структурированных интервью с заказчиками, которые позволяют точно определить их пожелания к готовому продукту. Попытка напрямую узнать у заказчика, какие результаты ему нужны, может закончится крахом: заказчик станет выдвигать все новые и новые требования, так что вы просто будете не в силах их удовлетворить. Помните, любое требование влияет на продолжительность и стоимость проекта. Соответственно, получая подробный список требований, вам нужно знать, являются ли они:
- обязательными, т.е. без них проект будет считаться незавершенным, а заказчик останется неудовлетворенным. Если готовый продукт не соответствует всем обязательным требованиям, это — провал;
- желательными. Эти требования не обязательны, но важны для заказчика, поэтому их стараются соблюдать, за исключением тех случаев, когда они влекут за собой неприемлемое увеличение стоимости или продолжительности проекта;
- необязательными — это те требования, без которых заказчик вполне может обойтись и которые удовлетворяются только по возможности.
Выжимка по процессу формирования требований
Функциональные требования — это требования к системе.
Бизнес-требования — эквивалентно бизнес-целям.
Между ними — Пользовательские требования, User Requirements.
Пользовательские требования формулируются в терминах предметной области, а функциональные требования — в терминах системы.
Бизнес-процессы — самое начало работы.
Например, можно рассмотреть процессы RUP/MSF (упрощенная последовательность):
1. Бизнес-моделирование
2. Выявление требований
3. RUP: Анализ и проектирование, MSF: концептуальный, логический и физический дизайн
4. Реализация
5. Тестирование
6. Опытно-промышленная эксплуатация
7. Support и развитие системы
Совсем упрощенно:
1. От заказчика поступает начальная концепция системы (в нескольких предложениях что они хотят, что это позволит достигнуть и т.д.) — по сути это и есть бизнес-требования.
2. Приступаем к моделированию бизнес-процессов, которые хотим автоматизировать (тут в помощь нам ARIS, IDEF0/IDEF3, UML), возможно, строим дополнительную модель (оптимизированную), в которой будут прописаны бизнес-процессы после автоматизации.
3. Вытрясаем из заказчика требования к разрабатываемой системе (это будут пользовательские требования).
4. На основе пользовательских требований формулируем функциональные требования к системе (пользовательские требования — не единственный источник функциональных требований).
Типовая структура требований выглядит как «Система должна … /утверждение о необходимом функциональном поведении системы/» или «система должна позволять … /утверждение о возможности, предоставляемой пользователю или внешней системе/.
Например:
«Система должна вести журнал всех действий пользователя» или «Система должна позволять создавать новые Проекты».
Пример различий между пользовательскими и функциональными требованиями:
Пользовательское: «Система должна выводить отчеты на печать»
Функциональное: «Система должна обеспечивать вывод отчетов на печать, обеспечивать возможность выбора и настройки локального или сетевого принтера, выбора ориентации бумаги».
Пользовательские и функциональные требования как правило связаны между собой. Это необходимо для отслеживания зависимостей требований друг от друга. В системах управления требованиями (например, Borland CaliberRM, TelelogicDoors, Rational RequisitePro) для этого есть так называемые «матрицы трассировки», на которых графически стрелками показываются зависимости между требованиями.
Важно сохранять пользовательские требования для хранения их в первоначальном виде, отслеживания источника их возникновения (вплоть до конкретного лица), расстановки их приоритетов (с точки зрения пользователя) и т.д.
Схема процесса разработки с уровнями требований
Формирование и анализ требований
Анализ предметной области. Аналитики должны изучить предметную область, где будет эксплуатироваться система.
Сбор требований. Это процесс взаимодействия с лицами, формирующими требования. Во время этого процесса продолжается анализ предметной области.
Классификация требований. На этом этапе бесформенный набор требований преобразуется в логически связанные группы требований.
Разрешение противоречий. Без сомнения, требования многочисленных лиц, занятых в процессе формирования требований, будут противоречивыми. На этом этапе определяются и разрешаются противоречия такого рода.
Назначение приоритетов. В любом наборе требований одни из них будут более важны, чем другие. На этом этапе совместно с лицами, формирующими требования, определяются наиболее важные требования.
Проверка требований. На этом этапе определяется их полнота, последовательность и непротиворечивость.
Аттестация требований
Аттестация должна продемонстрировать, что требования действительно определяют ту систему, которую хочет иметь заказчик. Проверка требований важна, так как ошибка в спецификации требований могут привести к переделке системы и большим затратам, если будут обнаружены во время процесса разработки системы или после введения её в эксплуатацию. Стоимость внесения в систему изменений, необходимых для устранения ошибок в требованиях, намного выше, чем исправление ошибок проектирования или кодирования. Причина в том, что изменение требований обычно влечёт за собой значительные изменения в системе, после внесения которых она должна пройти повторное тестирование.
Подготовка к интервью по сбору требований у заказчика
Классификация и описание требований на пути от бизнеса к технической реализации
Компания — Бизнес-требования
Источники: Топ-менеджмент компании
Документ: Бизнес-требования (обоснование потребностей инициативы)
Ответственный: Менеджер проекта
Состав бизнес-требований может отличаться на практике. Обычно включаются следующие пункты:
- Описание контекста и списка ключевых заинтересованных лиц
- Описание целей создания системы и критериев достижения
- Ключевые бизнес-требования к решению и их приоритеты
- Существующие и возможные ограничения на решение
Контекст — это то, что стало причиной создания системы, какая ситуация была в компании, какая проблема и как пришли к тому, что систему надо делать.
Заказчик — Документ требований заинтересованных лиц
Этот документ описывает рекомендуемое содержание документа требований заинтересованных лиц:
- Бизнес-назначение
- Бизнес-рамки
- Обзор бизнеса
- Заинтересованные лица
- Организационная среда
- Цели и результаты
- Бизнес-модель
- Информационная среда
- Бизнес-процессы
- Политики и правила
- Ограничения деятельности
- Организационная структура
- Концепция использования системы
- Сценарии эксплуатации
- Проектные ограничения
Пользователь — Требования пользователя
Пользовательские требования — описание на естественном языке (плюс поясняющие диаграммы) функций, выполняемых системой, и ограничений, накладываемых на неё.
Источники: Пользователь
Документ: Пользовательские требования/Требования к ПО
Ответственный: Системный аналитик
Эти требования должны определять только внешнее поведение системы, избегая по возможности определения структурных характеристик системы. Пользовательские требования должны быть написаны естественным языком с использованием простых таблиц, а также наглядных и понятных диаграмм.
Проблемы при формировании пользовательских требований
Отсутствие чёткости изложения. Иногда нелегко изложить какую-либо мысль естественным языком чётко и недвусмысленно, не сделав при этом текст многословным и трудно читаемым.
Смешение требований. В пользовательских требованиях отсутствует чёткое разделение на функциональные требования, на системные цели и проектную информацию.
Объединение требований. Несколько различных требований к системе могут описываться как единое пользовательское требование.
Системные требования
Системные требования описывают свойства и методы всех объектов системы. Программирование – это разработка и реализация структур данных и алгоритмов. Для разработки системы программисту необходимо знать структуры данных, необходимые для реализации системы, и алгоритмы (бизнес-правила/процедуры/пакеты обработки данных), которые ими манипулируют. Системные требования — детализированное описание системных функций и ограничений, которое иногда называют функциональной спецификацией. Она служит основой для заключения контракта между покупателем системы и разработчиками ПО.
Системные требования — это более детализированное описание пользовательских требований.
Они обычно служат основой для заключения контракта на разработку программной системы и поэтому должны представлять максимально полную спецификацию системы в целом. Системные требования также используются в качестве отправной точки на этапе проектирования системы. Спецификация требований может строиться на основе различных системных моделей, таких, как объектная модель или модель потоков данных.
Функциональные требования
Функциональные требования — это перечень сервисов, которые должна выполнять система, причём должно быть указано, как система реагирует на те или иные входные данные, как она ведёт себя в определённых ситуациях и т.д. В некоторых случаях указывается, что система не должна делать.
Стандартные формы для специфицирования функциональных требований:
- Описание функции или объекта.
- Описание входных данных и их источники.
- Описание выходных данных с указанием пункта их назначения.
- Указание, что необходимо для выполнения функции.
- Если это спецификация функции, необходимо описание предварительных условий (предусловий), которые должны выполняться перед вызовом функции, и описание заключительного условия (постусловия), которое должно быть выполнено после завершения выполнения функции.
- Описание побочных эффектов (если они есть).
Функциональные требования (functional requirements) определяют функциональность ПО, которую разработчики должны построить, чтобы пользователи смогли выполнить свои задачи в рамках бизнес-требований. Иногда они называются требованиями поведения (behavioral requirements), они содержат положения с традиционным «должен» или «должна»: «Система должна по электронной почте отправлять пользователю подтверждение о заказе».
Нефункциональных требований
Нефункциональные требования — Описывают характеристики системы и её окружения, а не поведение системы. Здесь также может быть приведён перечень ограничений, накладываемых на действия и функции, выполняемые системой.
Они включают временные ограничения, ограничения на процесс разработки системы, стандарты и т.д.
Нефункциональные требования не связаны непосредственно с функциями, выполняемыми системой. Они связаны с такими интеграционными свойствами системы, как надёжность, время ответа или размер системы. Кроме того, нефункциональные требования могут определять ограничения на систему, например на пропускную способность устройств ввода-вывода, или форматы данных, используемых в системном интерфейсе.
Нефункциональные требования отображают пользовательские требования:
Нефункциональные требования основываются на бюджетных ограничениях, учитывают организационные возможности компании-разработчика, возможность взаимодействия разрабатываемой системы с другими программными и вычислительными системами, а также такие внешние факторы, как правила техники безопасности, законодательство о защите интеллектуальной собственности и т.п.
Нефункциональные требования описывают цели и атрибуты качества. Атрибуты качества (quality attributes) представляют собой дополнительное описание функций продукта, выраженное через описание его характеристик, важных для пользователей или разработчиков. К таким характеристикам относятся:
- легкость и простота использования;
- легкость перемещения;
- целостность;
- эффективность и устойчивость к сбоям;
- внешние взаимодействия между системой и внешним миром;
- ограничения дизайна и реализации. Ограничения (constraints) касаются выбора возможности разработки внешнего вида и структуры продукта.
Требования предметной области
Требования предметной области характеризуют ту предметную область, где будет эксплуатироваться система. Эти требования могут быть функциональными и не функциональными. Эти требования отображают условия, в которых будет эксплуатироваться программная система. Они могут быть представлены в виде новых функциональных требований или в виде ограничений на уже сформулированные функциональные требования или в виде указаний, как система должна выполнять вычисления. Невыполнение требований предметной области может привести к выходу системы из строя.
Требования к продукту
Требования к продукту описывают эксплуатационные свойства программного продукта. Это требования к производительности системы, объёму необходимой памяти, надёжности (определяет частоту возможных сбоев в системе), переносимости системы на разные компьютерные платформы и удобству эксплуатации.
Организационные требования
Организационные требования отображают политику и организационные процедуры заказчика и разработчика ПО. Включают стандарты разработки программного продукта, требования к реализации ПО (т.е. к языку программирования и методам проектирования), выходные требования, которые определяют сроки изготовления программного продукта, и сопутствующую документацию.
Требования к интеграции
Требования к интеграции описывают низкоуровневый интерфейс взаимодействия новой системы с несколькими другими системами компании. Цель данного документа обосновать и формализовать выбор метода интеграции. Документ содержит в себе описание методов и способов интеграции с внешними системами, сервисами.
Интеграция приложений – это технологические процессы, используемые для организации обмена данными между различными информационными системами с помощью средств интеграции, предоставляемыми приложениями. К средствам интеграции, предоставляемыми приложениями относятся API функции, пакеты обработки и экспорта/импорта данных.
Интеграция через ESB
Интеграция через ESB (Enterprise Service Bus, «Сервисная шина предприятия») применяется для обеспечения информационных систем возможностями для взаимодействия с сервисами. Использование этого метода интеграции приложений обеспечивает слабую связанность между информационными системами, так как системы взаимодействуют не напрямую, а через сервисы, размещенные на сервисной шине предприятия.
Основными функциями ESB являются:
- Физическое размещение сервисов.
- Размещение адаптеров к информационным системам.
- Предоставление канала для взаимодействия информационных систем.
- Обеспечение независимости от адресов, протоколов и интерфейсов при взаимодействии систем.
- Трансформация данных при взаимодействии.
- Маршрутизация сообщений.
- Обеспечение инфраструктурной функциональности, включая мониторинг, логирование, безопасность, и т. д.
Интеграция точка-точка
Интеграция приложений напрямую, является методом интеграции, при котором взаимодействие между системами происходит без применения универсального централизованного посредника, такого, как сервисная шина предприятия (ESB).
Интеграция данных
Интеграция данных – это процессы пакетного обмена данных между информационными системами, с помощью средств баз данных этих систем или экспорта-импорта файлов.
Задачи интеграции данных:
- Передачи больших объемов данных, включающая логику преобразования данных.
- Синхронизация (репликация) данных информационных систем
Интеграция ETL
Интеграция ETL характеризуется следующим сценарием:
На платформе ETL пишется процесс, который
1) С помощью средств доступа к БД 1ой системы забирает из таблиц 1ой системы данные
2) С помощью средств и ресурсов БД 1ой или 2й системы или своих собственных механизмов осуществляет преобразование к структурам таблиц 2й системы
3) Загружает данные в таблицы БД 2й системы.
Файловый обмен
Файловый обмен характеризуется следующим сценарием:
1) Приложение, которому требуется передать данные другому приложению, сохра¬няет их в файле.
2) Разрабатывается интеграционное решение, которое преобразует формат файла в формат, требуемый другим приложением. (В частном случае для этого дорабатывается одна из интегрируемых систем)
3) Приложение которому нужны данные, загружает подготовленный файл.
Требования к пользовательскому интерфейсу
Пользовательский интерфейс — часть программной системы. Требования к пользовательскому интерфейсу могут быть разбиты на две группы:
- требования к внешнему виду пользовательского интерфейса и формам взаимодействия с пользователем;
- требования по доступу к внутренней функциональности системы при помощи пользовательского интерфейса.
К первой группе можно отнести следующие типы требований:
- Требования к размещению элементов управления на экранных формах
- Требования к содержанию и оформлению выводимых сообщений
- Требования к форматам ввода
Ко второй группе относятся следующие типы требований:
- Требования к реакции системы на ввод пользователя
- Требования к времени отклика на команды пользователя
Управление требованиями
Управление требованиями — это процесс управления изменениями системных требований. Процесс управления требованиями выполняется совместно с другими процессами разработки требований. Начало этого процесса планируется на то же время, когда начинается процесс первоначального формирования требований, непосредственно процесс управления требованиями должен начаться сразу после того, как черновая версия спецификации требований будет готова.
С точки зрения разработки требования можно разделить на два класса.
Постоянные требования. Это относительно стабильные требования, которые исходят из основной деятельности организации и касаются непосредственно предметной области, где будет эксплуатироваться система.
Изменяемые требования. Эти требования отображают изменения, сделанные во время разработки системы или после ввода её в эксплуатацию.
Классификация изменяемых требований
Непостоянные требования — Требования, которые изменяются из-за изменений в окружении системы
Неожиданно возникающие требования — Требования, которые появляются во время разработки системы. В процессе проектирования может возникнуть необходимость добавления новых требований
Непрямые требования — Требования, которые являются результатом внедрения компьютерной системы, способной изменить организационные процессы и показать новые способы работы, которые приведут к новым системным требованиям
Вторичные требования — Требования, которые зависят от особенностей данной системы или от бизнес-проблем организации
Процесс управления изменениями
Анализ проблем изменения спецификации. Процесс начинается с определения проблем в требованиях или с прямого предложения внесения изменений. На этой стадии проблема или предложенные изменения анализируются для проверки их обоснованности. Затем могут быть сделаны более определённые предложения относительно изменений в требованиях.
Анализ осуществимости и расчёт их стоимости. Эффект от внесения предложенного изменения оценивается с использованием оперативного контроля. Стоимость изменений оценивается двумя показателями: стоимостью внесения изменения в спецификацию и стоимостью внесения изменений в структуру системы и непосредственно в программный код. По окончании этого этапа принимается решение, продолжать или нет внесение изменений в систему.
Реализация изменений. Реализация изменений в системной спецификации, структуре системы и программном коде.
Кто читает документацию
Заказчики системы. Определяют требования, проверяют специфицированные требования на соответствие требованиям заказываемой системы. Они могут вносить изменения в спецификацию.
Руководство компании-разработчика. Использую спецификацию для расчёта цены системы и для планирования процесса разработки системы.
Разработчики системы. Используют спецификацию в процессе разработки системы.
Инженеры, тестирующие систему. Используют спецификацию при разработке тестов, необходимых для аттестации системы.
Инженеры поддержки системы. Спецификация помогает разобраться в системе и понять, как взаимодействуют её отдельные компоненты.
Как правильно сформулировать и контролировать цель проекта?
Как и у всех путешествий, у проекта улучшения процессов должна быть цель. Если не определить конкретных целей по улучшению, люди не смогут работать согласованней, а вы не сможете сказать, есть ли движение вперед, не сможете определять приоритеты задач и сказать, когда цель достигнута.
Метрика — измеримая характеристика проекта, продукта или процесса.
Ключевые показатели производительности (KPI) — это метрики, привязанные цели и служащие мерилом продвижения проекта к достижению определенной цели или результата. Набор KPI-показателей может отображаться на контрольной панели, показывая приближение к целям.
При определении целей по совершенствованию процессов нужно иметь в виду два обстоятельства.
- Во-первых, надо помнить, что совершенствование процесса ради самого совершенствования бессмысленно. Поэтому спросите себя, действительно ли достижение цели даст искомый рост бизнес-ценности.
- Во-вторых, не стоит разочаровывать членов команды, ставя цели, которые нереально достичь, поэтому нужно хорошенько подумать, достижима ли поставленная цель в вашей среде. Чтобы цель улучшения была разумной, ответ на оба вопроса должен быть положительным.
Если вы выбрали реалистичные KPI для своих целей, но не видите признаков прогресса по истечении разумного времени, нужно провести расследование:
- Правильно ли были проанализированы проблемы и выявлены их первопричины?
- Выбрали ли вы действия по улучшению, непосредственно направленные на эти первопричины?
- Был ли реалистичным план реализации этих действий по улучшению? Был ли план реализован, как планировалось?
- Изменилось ли что-то со времени исходного анализа, что должно было заставить переориентировать действия команды по улучшению?
- Действительно ли члены команды приняли новые приемы работы и прошли период обучения, чтобы начать активно применять их на практике?
- Были ли поставлены реалистичные цели, которые команда была в состоянии достичь?
Документы процесса разработки и управления требованиями (по Вигерсу)
Высокопроизводительные проекты отличаются эффективными процессами на всех этапах создания требований: выявления, анализа, спецификации, проверки и управления. Для облегчения выполнения этих процессов каждой организации необходим набор документов процесса (process assets).
Любой процесс определяют выполняемые действия и получаемые результаты; документы процесса помогают команде выполнять процессы последовательно и эффективно. Эти документы позволяют участникам проекта понять, какие шаги им следует предпринять и каких результатов от них ждут.
Документы процесса разработки требований
- Процесс разработки требований описывает, как определить и классифицировать заинтересованных в проекте лиц в предметной области, а также как планировать действия по выявлению требований. Кроме того, здесь перечислены различные документы, касающиеся требований, модели, которые, как ожидается, будут созданы при выполнении проекта. Процесс разработки требований также определяет особенности анализа и проверки требований.
- Процедура назначения требований описывает, как назначать высокоуровневые требованиям к продукту конкретным подсистемам при разработке систем, состоящих из программных и аппаратных компонентов или множественных программных подсистем.
- Процедура назначения приоритетов требований описывает приемы и инструменты, используемые для определения приоритетов требований и динамической корректировки содержимого резерва в проекте.
- Шаблон документа о концепции и границах проекта помогает куратору проекта и бизнес-аналитику осмысливать бизнес-цели, метрики успех, концепцию продукта и другие элементы бизнес-требований.
- Шаблон вариантов использования задает стандартный формат для описания задач, которые пользователям необходимо выполнять с помощью программы.
- Шаблон спецификации требований к ПО представляет собой структурированный, последовательный способ организации функциональных и нефункциональных требований. Подумайте о возможности применения более чем одного шаблона, чтобы учесть различные типы и масштабы проектов, выполняемые вашей организацией.
- Контрольный список рецензирования требований. Официальное рецензирование документов, содержащих требования, — мощное средство повышения качества ПО. В списке рецензирования описано много типичных ошибок, присутствующих в документах требований, что позволяет рецензенту сосредоточиться на стандартных проблемных областях.
Документы процесса управления требованиями
- Процесс управления требованиями описывает действия работающей над проектом команды для различения версий требований, определения базовых версий, работой с изменениями требований, различными версиями документации по требованиям, учетом и отчетностью о состоянии требований и накоплением информации по отслеживанию.
- Процедура отслеживания состояния требований подразумевает мониторинг состояния каждого функционального требования и отчетность по нему.
- Процесс управления изменениями определяет пути предложения, передачи, оценки и разрешения нового требования или его модификации.
- Шаблон устава совета по управлению изменениями. Устав совета по управлению изменениями описывает состав, функции и рабочие процедуры этого совета.
- Контрольный список анализа последствий изменений в требованиях. Анализ последствий помогает вам рассмотреть задачи, побочные эффекты и риски, связанные с реализацией каждого изменения в требованиях, а также оценить объем работы по задачам.
- Процедура отслеживаемости требований определяет, кто предоставляет данные по отслеживаемости, которые позволяют отслеживать связи требований с другими артефактами проекта, кто их собирает и управляет ими и где они хранятся.
Пример дорожной карты совершенствования процессов работы с требованиями
Документ по управлению требованиями
4.9
9
Голоса
Рейтинг статьи
Одной из основных функций бизнес-аналитика, как специалиста, есть создание бизнес-требований, но многие заказчики не понимают зачем они собственно говоря нужны и считают лишней тратой времени их оформление.
Я уже не один раз затрагивал этот вопрос в своем блоге, но сейчас хочу поделиться с вами выжимкой материала найденном в интернете. Надеюсь он будет вам полезным.
Источник материала: https://systems.education/biz-req и https://systems.education/biz-req-dev
Роль Бизнес-требований (БТ)
- Бизнес-требования определяют смысл проекта и обосновывают его необходимость
- Бизнес-требования – это удобный инструмент договоренности: они объективны, компактны и понятны стейкхолдерам
- Из бизнес-требований вытекают критерии приемки проекта
- Бизнес-требования используются для определения рамок проекта
- Бизнес-требования помогают принимать решения о приоритетах
- В Scrum бизнес-требования являются (во всяком случае, так должно быть) основным инструментом владельца продукта для управления продуктовым бэклогом и для согласования его с другими стейкхолдерами
Требования в бизнес-анализе
Версия 3 BABOK Guide определяет требования таким образом:
- «пригодное для использования представление потребности», то есть фокусируется на том, что нужно.
- требование любого уровня должно фокусироваться на понимании приносимой пользы: зачем нужно
- форма представления может значительно варьироваться в зависимости от обстоятельств
Для формулирования требования потребность нужно поместить в какой-то контекст. Например потребность «Люди испытывают ежедневную потребность в пище» слишком общая. Если ее поместить в контекст морского путешествия, то требование становится уже более осмысленным: «Продукты питания, используемые в рационе моряков, должны сохранять пригодность для употребления в пищу в течение, как минимум, 30 дней при температуре до +30оС и высокой влажности, поскольку моряки длительное время вынуждены обходиться без поставок продовольствия».
Способы выполнения требования могут быть разными и они называются решениями.
Потребности, требования, решения, контекст
- Голубой блок обозначает контекст проекта и его элементы.
- Красный блок в левой части — потребности бизнеса и стейкхолдеров.
- Желтый блок в центре — бизнес-требования, требования стейкхолдеров и требования к решению.
- Зеленый блок справа — решения, удовлетворяющие требования (бизнес-процессы и информационные системы).
Потребности бизнеса, подлежащие удовлетворению в конкретном контексте, отражаются в бизнес-требованиях.
Решением для бизнес-требования обычно является бизнес-процесс или организация, выполняющая множество бизнес-процессов.
Когда бизнес-процесс реализуется в качестве решения, в нем начинают участвовать конкретные люди (стейкхолдеры), у которых возникают потребности, связанные с участием в бизнес-процессе. Из этих потребностей вырастают требования стейкхолдеров, а из них — требования к решению.
Полное решение состоит из бизнес-процессов и [информационных] систем, поддерживающих и обеспечивающих эти процессы. Системы реализуют требования к решению.
Пример определения бизнес-требования на основе анализа потребности
Потребность — «Торговой компании необходимо постоянно иметь в наличии или оперативно получать нужные товары в нужном количестве.»
Если бизнес-модель компании предполагает поддержание товарных запасов на складе, то бизнес-требование можно сформулировать так:
Для поддержания нужных товарных запасов на складах компании, их необходимо регулярно (BR-INV-01) пополнять через формирование заказов поставщикам.
Размер поддерживаемого запаса каждого товара должен определяться, исходя из оптимизации затрат и минимизации рисков упущенной прибыли (BR-INV-02).»
В тексте этого требования есть две ссылки: BR-INV-01 и BR-INV-02. Здесь BR означает «бизнес-правило» (Business Rule), а INV — Inventory (запас). Это ссылки на бизнес-правила, определяющие то, с какой именно регулярностью нужно пополнять запасы, и каков алгоритм расчета оптимального товарного запаса.
Бизнес-правило — один из типичных артефактов, сопровождающих бизнес-требования.
Артефакты бизнес-анализа, сопровождающие бизнес-требования
По мере определения бизнес-требований появляются:
- Доменные модели — высокоуровневые информационные модели предметной области.
- Глоссарий предметной области.
- Модели состояния объектов управления: на этом этапе мы определяем, какими объектами мы хотим управлять, и какие состояния нас интересуют (или какие состояния мы хотим отслеживать).
- Метрики и показатели этой деятельности, которые говорят нам о том, что важно для бизнеса и как мы оцениваем то, насколько хорошо или плохо, лучше или хуже выполняется его деятельность.
- Бизнес-правила: описания применяемых в данной компании алгоритмов, нормативов, ограничений, проверок, и политик.
Немного слов про бизнес-правила
Как правильно описывать бизнес-правила?
- Бизнес-правило должно быть сформулировано на языке бизнеса. В описании бизнес-правил не должны использоваться технические термины. Язык написания бизнес-правил должен быть понятным представителю бизнеса, не являющимся IT-специалистом. После описания бизнес-правил, постарайтесь абстрагироваться от своих технических знаний, поставьте себя на место представителя бизнеса, руководителя компании, для который вы разрабатываете продукт. Понятен ли вам написанный документ? Не содержит ли документ технических терминов, указания систем и языков программирования?
- Бизнес-правило должно описывать правило бизнеса, а не работу системы. Описание бизнес-правил должно содержать те требования бизнеса, которые должна решить система, но без описания работы системы. Например, у бизнеса есть правило: «Отслеживать время прихода и ухода сотрудников на рабочее место». Бизнес-правило не должно содержать описания, как достичь соблюдения данного правила: будет ли сотрудник записываться в журнал прихода и ухода, или на входе будет стоять автоматическая пропускная система, которая будет фиксировать время.
- Бизнес-правило должно описывать ограничения: какие операции не могут быть выполнены. Ограничительные бизнес-правила могут определять ограничения пользователей. Например: “В полис ОСАГО страховщик может вписать не более 5-ти водителей”; «Оформить заказ-онлайн может только клиент компании».
- Бизнес-правило подчиняется бизнесу: принять, изменить, отменить. Представители бизнеса могут изменять бизнес-правила, вносить поправки или отменять.
Рассмотрим несколько примеров бизнес-правил и требований к системе
| Бизнес-правило | Требование к системе |
| Постоянный посетитель библиотеки может отложить для себя до 10 книг. | Посетитель, имеющий карточку в библиотеке; посещающий библиотеку не менее 1 раза в месяц является постоянным.
Постоянный посетитель должен иметь возможность отложить для себя 10 книг. |
| Клиент компании может оформить заказ с оплатой курьеру. | Клиент компании-пользователь, имеющий учетную запись в интернет-магазине компании. Для оформления заказа, пользователь должен быть авторизован в системе.
Пользователь, должен иметь возможность оформить заказ. Заказ может быть оформлен: с доставкой по указанному адресу; с оплатой наличными при получении; с оплатой банковской картой при получении. |
Требования стейкхолдеров
При проектировании бизнес-процесса, необходимого для выполнения бизнес-требований, необходимо учитывать потребности и требования людей, участвующих в этом бизнес-процессе. Такие люди называются причастными лицами (стейкхолдерами). О них я уже писал в своем блоге.
Предположим, мы проектируем бизнес-процесс поддержания товарных запасов на складах компании. Одной из разновидностей стейкхолдеров будут закупщики — специалисты, которые формируют заказы поставщикам. Если мы придем к такому человеку и попросим рассказать, чем он занимается и в чем нуждается, мы услышим примерно следующее:
Как специалисту, отвечающему за поддержание запасов, мне нужно иметь возможность:
- Автоматически рассчитывать заказ по каждому товару с использованием определенного алгоритма (здесь прозвучит то же самое бизнес-правило, которое упоминалось в бизнес-требовании). Почему автоматически? Потому что мне надо на 4 складах поддерживать 3000 товарных позиций, поступающих от 100 поставщиков — это невозможно или крайне сложно обрабатывать вручную.
- По любой позиции автоматически рассчитанного заказа видеть то, как именно была посчитано это значение и почему оно именно такое — алгоритм может не учитывает какие-то известные мне нюансы. Например, ожидаемое значительное повышение или снижение продаж.
- Менять количество в автоматически рассчитанном заказе — в конечном счете за заказ отвечаю я, а не система. Система не может учесть всё, и если я считаю нужным поменять заказанное количество, у меня должна быть возможность это сделать.
- Смотреть для проверки не на все 3000 позиций, а только на те, где расчеты системы могут быть вызвать сомнения. Например, недостаточная история продаж, высокая волатильность продаж или другие подобные факторы.
Примерно так будет рассказывать нам живой человек. «Пользовательская история» (User Story) — естественная форма представления требований стейкхолдеров, имеющая формат <роль> <задача> <нужная возможность>.
Например:
Как специалисту, отвечающему за поддержание запасов, для формирования заказов поставщикам мне нужно:
- Автоматически рассчитывать заказ по каждому товару с использованием BR-INV-02;
- по любой позиции заказа иметь возможность посмотреть детали расчета и
- вручную изменить заказываемое количество,
- видеть отдельно те позиции заказа, по которым, возможно, требуется моя корректировка (BR-INV-03)
Обычно требованиям стейкхолдеров сопутствуют дополнительные артефакты:
- Карты стейкхолдеров (показывают, кто участвует в процессах)
- Модели и другие описания процессов
- Варианты использования (Use Cases)
- Образцы данных, с которыми работают стейкхолдеры (помогают понять ситуацию и потребности стейкхолдеров)
Функциональные и нефункциональные требования
Нефункциональные требования (НФТ) определяют свойства, которые система должна демонстрировать, или ограничения, которые она должна соблюдать, не относящиеся к поведению системы. Например, производительность, удобство сопровождения, расширяемость, надежность, факторы эксплуатации.
Из бизнес-требований, помимо функциональных (ФТ) и нефункциональных требований, напрямую могут вытекать ещё и требования причастных сторон. В свою очередь, из требований причастных сторон могут вытекать ФТ и НФТ.
В наглядном виде модель выявления требований представлена на схеме:
Почему бизнес-требования так важны
Бизнес-требования играют важную роль на проекте, поскольку помогают определить смысл проекта и обосновать его необходимость. Именно бизнес-требования, как правило, используются для определения рамок проекта, то есть входят в состав концепции проекта.
Ввиду своей понятности всем заинтересованным лицам, бизнес-требования служат артефактом, на основе которого удобно заключать договоренности. Чем ниже уровень требований, тем больше нюансов, а значит, сложнее договариваться.
Из БТ вытекают критерии приемки и именно на их основе производится оценка результатов разработки ИТ-решения.
Также бизнес-требования часто используются на проекте для приоритизации решений: если есть понимание, как то или иное решение связано с БТ, приоритизировать его не составит труда. Именно БТ являются снованием для принятия решений в ходе проектирования и внесения изменений в реализацию проекта.
Кроме того, бизнес-требования в Agile — это ключевой инструмент Product Owner для управления бэклогом продукта и ведения переговоров со стейкхолдерами.
Какие бывают бизнес-требования?
Согласно концепции Six Sigma, бизнес-требования — это критичные активности предприятия, подлежащие выполнению для достижения целей организации, вне зависимости от конкретного решения.
Исходя из определения Six Sigma, классификация требований будет опираться на критичные активности, т. е. бизнес-требования могут быть связаны с:
- Определением значимых характеристик продуктов или услуг.
- Распознаванием и обработкой событий.
- Принятием решений (своевременность, правильность).
- Сбором, обработкой, хранением и предоставлением информации.
- Обеспечением возможности выполнения действий (субъект, действие, объект, время, условия, способ).
- Предотвращением возможности выполнения действий (субъект, действие, объект, время, условия, способ
Ниже приведены примеры бизнес-требований по видам критичных активностей.
Вид БТ: Значимые характеристики продуктов или услуг
Примеры БТ:
- Скорость обслуживания — очередь на кассе должна быть не длиннее 4 покупателей.
- Своевременность доставки — клиент должен получить пиццу горячей и не умереть ожидая ее.
- Простота получения услуги — оформление предварительно одобренного кредита должно завершаться за одно посещение клиента.
Вид БТ: Распознавание и обработка событий
Примеры БТ:
- Банк должен своевременно получать оповещения о сбоях в работе банкоматов.
- К моменту начала этапа работ, все нужные материалы и оборудование должны находиться на объекте строительства и быть готовыми к использованию.
- Сотрудники должны быть своевременно проинформированы о назначенных им задачах.
Вид БТ: Принятие решений
Примеры БТ:
- По каждому обнаруженному дефекту, на основе имеющейся информации, должно быть оперативно принято решение о способе его устранения в соответствии с протоколом реакции на аварийные ситуации.
- Решение о выдаче кредита должно приниматься на основании…
- Отпускная цена на товар для конкретного клиента определяется на основании… в зависимости от …
Вид БТ: Сбор, обработка, хранение и предоставление информации
Примеры БТ:
- С момента обнаружения дефекта и до его полного устранения должна регистрироваться и храниться следующая информация.
- Инвестиционный банк в конце каждого рабочего дня должен направлять Регулятору информацию о…
- Для принятия решений об участии в тендере необходимы результаты предварительной оценки себестоимости проекта.
Вид БТ: Обеспечение возможности выполнения действий
Примеры БТ:
- В случае неудовлетворенности качеством обслуживания, клиент должен иметь возможность направить жалобу по телефону, по электронной почте или через сайт компании.
- Клиент должен иметь возможность отказаться от заказа до момента его отправки.
- Покупатели должны иметь возможность оформить и оплатить покупку самостоятельно посредством мобильного приложения.
Вид БТ: Предотвращение возможности выполнения действий
Пример БТ:
- Должна исключаться возможность доступа к защищенным ресурсам лиц, не являющихся сотрудниками компании.
Проблемы в бизнес-требованиях
Можно выделить несколько типичных признаков проблем с бизнес-требованиями.
- Неконкретность (слишком абстрактная формулировка)
- Невозможность проверки (нет понимания, что является индикатором выполнения требования)
- «Магические» числа (приведены какие-то необоснованные данные: «время обработки заявки 14 минут»)
- Непонятная польза (не написано, для чего делаем то, что делаем; действительно ли это необходимо)
- Избыточная детализация (зачастую делает требование слишком жестким и нечитаемым)
- Невыполнимость (например, требование «обеспечить 100%-ую достоверность данных». Для чего это требование? Почему возникают недостоверности? С этой проблемой можно как-то бороться или это просто факт?)
- Несогласованность (противоречивость; с одной стороны Покупатель хочет найти продукт с наилучшими качествами по наименьшей цене, а с другой — Продавец хочет стимулировать покупку продуктов, приносящих наибольшую прибыль)
- Нерелевантность (приведено требование, которое вообще не понятно, какое отношение имеет к данному проекту)
- Привязка к конкретному решению, в том числе — конкретный бизнес-процесс
Примеры некорректных бизнес-требований
Обеспечить высокое качество обслуживания — Как проверить, что качество обслуживания высокое?
- Сократить среднее время обработки заказа до 14 минут — Почему до 14 минут, чем это обосновано? А почему не до 1 минуты? Какую пользу принесет сокращение времени обработки заказа?
- Обеспечить 100% достоверность учетных данных — Как мы узнаем какая достоверность? Как можно определить, что данные достоверны? В результате чего возникает недостоверность? С этим реально можно что-то сделать? Выполнимо ли данное требование?
- Гарантировать правильность принимаемых решений — Что выступает гарантом? Это выполнимо?
- Внедрить ERP — Кому и зачем это нужно? В чем проблема?
Типовые ловушки аналитика
Проблемы с требованиями, как правило, возникают, когда аналитик попадает в одни и те же типовые ловушки. Вот основные ловушки аналитика при работе с бизнес-требованиями:
- Формальность — «пишу, потому что надо здесь что-то написать».
- Узкие рамки анализа — не рассматриваем ничего, что выходит за рамки проекта.
- Превращение в аудит — выясняем все обо всем «на всякий случай».
- Превращение метода в цель — строгое следование определенному шаблону с превращением средств в цель и потерей основной цели проекта.
Что можно сделать с каждой из этих ловушек?
| Ловушка | Описание | Решение |
|---|---|---|
| Формальность | «Пишу, потому что надо здесь что-то написать» | Ставить себя на место читателя (необходимо понимать, что и для кого мы пишем). |
| Узкие рамки анализа | Фокусировка только на том, что относится к проекту, т.е. не рассматриваем ничего, что выходит за рамки проекта | Анализировать область шире, чем те рамки, которые хотим установить для проекта. |
| Превращение в аудит | «На всякий случай» выясняем все обо всем | Постоянно спрашивать себя: «как это связано с проектом?» |
| Превращение метода в цель | Строгое следование определенному шаблону с превращением средств (канва бизнеса, бизнес-процессы, стейкхолдеры) в цель и потерей основной цели проекта | Задать себе вопрос: «можно ли обойтись без э |
Документирование бизнес-требований
В практике бизнес-аналитика присутствует два основных подхода документирования требований:
1. Монолитно
- Все требования описываются вместе в виде структурированного повествовательного текста.
- Возможны ссылки на элементы требований (цели, метрики, предположения, риски и т. п.).
2. Дробно
- Каждое требование описывается отдельно.
- Каждому требованию присваивается уникальный идентификатор.
- Возможна трассировка к конкретному бизнес-требованию.
Шаблон монолитного описания БТ
Карл Вигерс в своей книге «Разработка требований к программному обеспечению. Руководство» предлагает хороший шаблон описания БТ монолитом в рамках документа Scope and Vision (рамки и видение). В этом документе выделяется раздел Бизнес-требования, который включает в себя:
- Контекст.
- Описание возможности.
- Бизнес-цели.
- Метрики успешности.
- Образ результата (Vision).
- Деловые риски.
- Предположения и зависимости бизнеса.
Советы Вигерса по описанию БТ
- Сокращайте шаблон в соответствии с потребностями.
- Заполняйте не сверху вниз, а по мере поступления информации.
- Пустой раздел — признак его ненужности или необходимости дополнительного изучения.
- Не повторяйте то, что уже описано в другом месте — сошлитесь на имеющееся описание.
- Исходите из возможности повторного использования БТ в других проектах.
- Выявляйте конфликты, противоречия и выносите на обсуждение.
- Проводите повторное рассмотрение БТ при каждой смене лиц, принимающих решения, чтобы убедиться, что понимание БТ не изменилось
Шаблон дробного описания БТ
Ниже представлен авторский шаблон дробного описания бизнес-требований. Он состоит из нескольких ключевых элементов:
1. Заголовок, который включает в себя:
- Уникальный идентификатор.
- Краткое описание.
2. Определение, развернутое объяснение, что из себя представляет БТ.
3. Источник, откуда это требование взялось.
4. Зависимости, если они есть между другими требованиями.
5. Обоснование, краткое пояснение мотивации.
6. Комментарий, любые пояснения. В приведенном ниже примере представлено описание диаграммы состояний.
Время на прочтение
13 мин
Количество просмотров 2.2K
Документ бизнес-требований (BRD) является отправной точкой для любого программного проекта или бизнес-решения. Благодаря такому документу члены команды приходят к единому мнению о том, что нужно создать, зачем это делать и как этого добиться.
В этой статье изучаются основные положения документов бизнес-требований. В том числе, зачем он нужен, как эффективно его составить и многое другое. Мы также включили 5 самых удачных примеров BRD от известных компаний.
Что такое документ бизнес-требований?
Документ бизнес-требований (Business Requirement Document. BRD) — это хорошо структурированное формальное описание предстоящего проекта. В нем объясняется, почему компании необходимо создать новое программное обеспечение или бизнес-решение. В BRD также описываются проблемы, которые будут решаться в рамках проекта, и то, какой доход они принесут (или сколько компания может потерять, если программное обеспечение не будет создано).
В BRD отражается каждый этап разработки продукта, начиная с резюме и заканчивая ожидаемыми результатами. Документы бизнес-требований часто включают:
-
Текущие проблемные моменты и цели проекта.
-
Какие ресурсы необходимы компании.
-
Этапы и промежуточные итоги проекта.
-
Функциональные требования нового решения (технические и нетехнические).
-
Ограничения проекта (все, что может замедлить или затруднить ход проекта).
-
Стейкхолдеры.
-
Риски.
-
Предполагаемый коэффициент возврата инвестиций (return on investment, ROI).
Структура документов бизнес-требований может меняться в зависимости от типа проекта. Например, вы сможете исключить технические функциональные требования, если создаваемое вами решение не является программным.
Мы подробно разъясним, как следует оформлять BRD. Ниже представлен пример шаблона.
Перевод изображения:
Шаблон BRD
Краткое содержание
Дайте краткое и четкое резюме бизнес-требований данного проекта.
Цели проекта
Перечислите бизнес-цели проекта, следуя формату SMART (конкретные, измеримые, достижимые, реалистичные и ограниченные по времени).
-
Увеличить MRR* на X% к концу года
-
Снизить отток на X% к четвертому кварталу
-
Повысить 1-недельное удержание пользователей на X% ко второму кварталу.
История проекта
Предоставьте некоторый контекст о проекте — какие вопросы или проблемы послужили его причиной?
Объем проекта
Опишите, что должно быть включено в проект, а что следует исключить.
Заинтересованные стороны
Перечислите внутренние и внешние стейкхолдеры, вовлеченные в проект.
-
@Имя
-
@Имя
-
@Имя
Ограничения
Опишите все ограничения и лимиты, с которыми вам предстоит работать.
Время
Бюджет
Сценарии использования
Опишите сценарии, которые необходимо протестировать для достижения целей проекта.
Требования к продукту
Функциональные требования
ДОЛЖНЫ БЫТЬ
Требования, которые определяют успех проекта.
СЛЕДУЕТ ИМЕТЬ
Требования, которые добавляют ценность.
ЖЕЛАТЕЛЬНО ИМЕТЬ
Требования, которые добавляют удобство.
Нефункциональные требования
Указывают критерии и характеристики, которые будут влиять на систему.
Анализ затрат и выгод
Перечислите все затраты и экономию от проекта в виде бизнес-кейса.
*MRR ежемесячный доход компании с платящих клиентов
Почему важны документы бизнес-требований?
BRD отображают полную картину потенциального проекта. Эти документы объединяют все команды, участвующие в запуске проекта, и обеспечивают его успешную реализацию.
Фактически, Институт управления проектами (Project Management Institute. PMI) обнаружил, что без предварительного планирования команды проваливают проекты в два раза чаще, чем те, которые подготовились к работе. PMI также выявил, что планирование помогает командам достичь 77% своих целей по сравнению с 56% у тех, кто имеет низкий уровень развития проектного управления.
BRD также позволяют вашей команде:
-
Контролировать общее состояние проекта.
-
Объединить стейкхолдеров и членов команды для достижения консенсуса и сотрудничества.
-
Снизить риск неожиданных изменений проекта.
-
Понимать бюджет и ожидаемую окупаемость инвестиций.
-
Понять ограничения проекта и найти оптимальное решение для их устранения.
-
Способствовать повышению ответственности команды путем постановки четких, транспарентных целей.
Как составить документ бизнес-требований
Здесь вы узнаете, что нужно написать в каждом разделе документа бизнес-требований. Для того чтобы облегчить понимание процесса, мы объясним каждый шаг на примере.
Итак, для начала представьте, что ваша компания хочет создать систему управления контентом для специалистов TikTok. То, что у вас есть сейчас, — это путаница в Google Sheets и заметки на бумаге. Ваша цель — планировать, управлять и оценивать эффективность TikTok в одном месте.
Исходя из этого, давайте начнем излагать наши бизнес-требования.
Как написать документ о бизнес-требованиях
-
Начните с резюме.
-
Сообщите о бизнес-целях.
-
Объясните историю проекта и его необходимость.
-
Определите объем работ.
-
Определите требования к функциональности проекта.
-
Определите ключевых стейкхолдеров.
-
Сообщите об ограничениях проекта.
-
Составьте график работ.
-
Подведите итоги анализа затрат и прибыли.
1. Начните с резюме
В резюме проект кратко описывается для ваших руководителей или других участников (например, деловых партнеров). Здесь представлена ознакомительная информация о целях проекта. В резюме должно быть отражено следующее:
-
Текущие проблемные места и то, как они влияют на бизнес.
-
Что вы предлагаете в качестве решения.
-
Релевантные данные, например, ожидаемая рентабельность инвестиций.
-
Крайний срок выполнения проекта.
Ваше резюме должно быть легким для понимания. Читатели должны сразу понять, почему данный проект важен и в него стоит инвестировать, просто прочитав этот раздел.
Для нашего проекта TikTok CMS (Content Management System ― система управления контентом) резюме будет выглядеть следующим образом:
Наша организация ставит своей целью создание системы управления контентом TikTok для оценки эффективности работы команды. Мы намерены провести анализ проводимых акций, расходов на рекламу и окупаемости инвестиций для масштабирования наиболее выгодных кампаний.
Мы ожидаем, что готовый продукт будет создан к концу третьего квартала.
2. Сообщите бизнес-цели
Перечислите бизнес-цели, которых вы надеетесь достичь с помощью проекта. Система SMART от HubSpot предлагает простой метод для формирования целей. Ваши цели должны быть конкретными, измеримыми, достижимыми, актуальными и с заданными временными рамками.
Давайте определим цели для нашей TikTok CMS:
-
Увеличьте окупаемость рекламных объявлений в TikTok на 10% в ноябре.
-
Ускорьте создание постов, чтобы опубликовывать их по 2 штуки в день.
-
Создайте аналитический отчет для доступа к показателям Tik Tok и их анализа в одном месте.
-
Определите наиболее эффективные кампании TikTok, чтобы масштабировать их.
-
Если вы не можете точно указать цифры или их трудно предсказать, подробно опишите конкретные результаты, которых вы надеетесь достичь от полной реализации проекта.
3. Объясните предпосылки проекта и его необходимость
Назовите несколько насущных проблем, которые вы хотите решить с помощью проекта. Приведите данные и исследования, подтверждающие ваше заявление. Например, вы можете сравнить текущие и ожидаемые расходы. Обязательно включите в этот раздел краткое описание прошлых экспериментов или проектов.
Вот предыстория нашего примера с TikTok:
У нашей команды нет подробного отчета о ROI в TikTok. TikTok CMS поможет сократить расходы на кампании TikTok и увеличить ROI. Мы также определим наиболее эффективные кампании с точки зрения ROI.
4. Определите объем работ
Это самая важная часть вашего BRD. Данный раздел должен включать:
-
Подробный обзор целей проекта.
-
Основные этапы.
-
Результаты проекта.
-
Критерии приемки.
Объем работ определяет, что должно быть сделано в течение определенного периода. Обязательно четко сформулируйте требования к проекту на каждом этапе разработки. Это способствует более четкому общению между стейкхолдерами и членами команды, которые будут работать над проектом. Вы также снизите риск отклонения проекта от курса.
5. Определите требования к функциональности проекта
Перечислите все характеристики и необходимые функциональные возможности продукта. Этот раздел включает в себя то, что должно быть создано, и все возможности, которые требуются вашему новому проекту. Вы также можете описать это в разделе «Объем работ».
Для нашей CMS TikTok понадобятся:
-
Отображение в календаре задач по управлению контентом.
-
Возможности отчетности.
-
Ежемесячная аналитика эффективности для каждого поста в отдельности и группы постов.
-
Фильтрация по различным кампаниям.
6. Определение основных стейкхолдеров
В этом разделе BRD перечислены основные стейкхолдеры вашего проекта. Уделите время тому, чтобы описать роли и обязанности каждого человека. Обязательно включите в список как внутренних, так и внешних участников.
Давайте рассмотрим наш пример.
-
Директор по маркетингу: Утвердить создание TikTok CMS.
-
Менеджеры проекта: Отвечают за декомпозицию проекта, назначение членов команды и обеспечивают выполнение проекта в соответствии с графиком.
-
Руководитель команды (тимлид) TikTok: Отвечает за создание контента и сбор показателей производительности.
7. Сообщите об ограничениях проекта
Очень важно указать существующие ограничения, которые влияют на развитие проекта. Ограничения могут быть любыми: бюджет, текущий набор инструментов, технические ограничения, готовность команды или зависимости.
Вот хороший пример проектных ограничений для технического продукта:
4.7 Ограничения
[Адресант.Компания] должна принять во внимание следующие ограничения при составлении схемы технических деталей [название проекта] :
4.7.1 В настоящее время (бизнес-система) не позволяет использовать (описание ограничений).
4.7.2 Пользователи (бизнес-системы) в настоящее время ограничены функциями, которые включают [ограничения описание] .
4.7.3 В настоящее время существует ограничение на хранение данных в размере (ограничение на хранение данных), которое ограничивает систему до (описание ограничений).
4.7.4 Отчетность и другие сведения о системе в настоящее время ограничены (описание ограничений) из-за (дополнительное описание ограничений).
4.7.5 Пользователи могут обрабатывать только до (описание ограничений) в рамках (бизнес-система).
8. Составьте график
Работайте рука об руку с менеджерами проекта, чтобы определить сроки для каждого этапа ваших инициатив. BRD для заказчиков должны включать окончательные сроки и предполагаемые даты поставки по основным этапам.
Для нашего проекта TikTok CMS график выглядит следующим образом.
-
Этап 1. Завершить X к декабрю 2022 года
-
Этап 2. Разработка и обеспечение качества функционала X к марту 2023 г.
9. Подведите итоги анализа затрат и прибыли
Анализ затрат и прибыли определяет, перевешивают ли выгоды проекта его расходы. Создайте в электронной форме таблицу, где указаны текущие расходы и средства, потерянные из-за неэффективности. Спрогнозируйте, какую сумму денег и другие выгоды получит компания.
Ваша цель — убедить руководителей в том, что новый проект стоит вложенных инвестиций. Подкрепите свои доводы фактами и цифрами.
|
Анализ затрат и выгод: Система обслуживания клиентов |
|||||||||
|
Расходы |
|||||||||
|
Категория |
Элемент |
Количество |
Цена |
Всего |
|||||
|
Оборудование и услуги |
Рабочие станции пользователей |
7 |
» class=»formula inline»>14,000 |
||||||
|
Серверная система |
2 |
» class=»formula inline»>8,000 |
|||||||
|
Защищенные сетевые принтеры |
2 |
» class=»formula inline»>3,500 |
|||||||
|
Установка кабеля |
2 |
» class=»formula inline»>12,400 |
|||||||
|
Лицензии на программное обеспечение |
2 |
» class=»formula inline»>44,000 |
|||||||
|
Системное обучение |
Обзор системы |
10 |
» class=»formula inline»>6,250 |
||||||
|
Программное обеспечение |
10 |
» class=»formula inline»>6,250 |
|||||||
|
Инструменты |
15 |
» class=»formula inline»>13,125 |
|||||||
|
ОБЩИЕ ЗАТРАТЫ |
Выгоды |
||||||||
|
Более эффективные рекламные кампании |
» class=»formula inline»>58,000 |
||||||||
|
Улучшенная конверсия лидов |
Лучшее удержание клиентов и их лояльность |
» class=»formula inline»>28,000 |
|||||||
|
Повышенная производительность |
Повышение эффективности рабочего процесса |
» class=»formula inline»>28,000 |
|||||||
|
База данных более высокого качества |
ОБЩАЯ СУММА ВЫГОДЫ |
» class=»formula inline»>236,000 |
5 замечательных примеров документов бизнес-требований
Мы собрали коллекцию из 5 шаблонов документов бизнес-требований. Просмотрите каждый из них и выберите тот, который лучше всего подходит для вашего проекта. Обязательно адаптируйте каждый шаблон под требования вашего проекта.
Шаблон BRD от PandaDoc
Это фантастический шаблон, если вы хотите подготовить BRD для разработки продукта. PandaDoc предоставляет наглядные примеры того, какой текст вы должны поместить в каждый раздел. Вы также найдете лучшие практики для каждого элемента, упомянутого в шаблоне.
Цели бизнеса
Здесь вы подробно рассказываете о том, чего надеетесь достичь с помощью проекта. Некоторые из тем, которые вы, возможно, захотите затронуть, включают обзор текущего процесса, бизнес-факторы, побуждающих к изменениям, и любых пользователей или бизнес-областей, затронутых проектом.
2.1 Проектное решение
Новое (проектное решение) поможет [Клиент.Компания] достичь своей цели [бизнес-результат]. [Адресант. Компания] будет осуществлять контроль качества на каждом этапе процесса, чтобы избежать проблем при внедрении.
Вы также должны рассказать о целях проекта, о том, что клиент надеется достичь, и обо всех стейкхолдерах, таких как менеджер проекта. Нелишним будет упомянуть о том, как проект влияет на общую бизнес-стратегию клиента.
2.2 Значение
Благодаря [название проекта], [Клиент.Компания] может продвинуться дальше к достижению своей цели [цель клиента]. Тем самым [Клиент.Компания] создает себе условия для (общая бизнес-стратегия).
Шаблон TechWhirl BRD
Этот шаблон разработан специально для новых технологических решений. TechWhirl включает 17 разделов, в которых подробно описаны краткое содержание проекта, сфера применения, обзор бизнес-процессов, бизнес-требования и многое другое. Вы даже можете включить сюда данные в виде диаграмм и графиков.
Лучший вариант для: Объяснения сложных бизнес-процессов и зависимостей.
Перевод изображения:
TECHWhirl
Шаблон для технологического коммьюнити
BRD
5 Бизнес Требований
[Конкретные бизнес-требования, полученные от стейкхолдеров, должны быть перечислены, классифицированы по приоритетам и областям функциональности, чтобы
облегчить процесс их прочтения и отслеживания. Включите ссылки на документацию по юзкейсам и другие ключевые справочные материалы, если это необходимо, чтобы сделать требования максимально полными и понятными. Возможно, вы захотите включить функциональные и нефункциональные требования в матрицу прослеживаемости, которую можно будет использовать на протяжении всего проекта].
Требования в этом документе имеют следующие приоритеты:
|
Значение |
Рейтинг |
Описание |
|
1 |
Критический |
Это требование является критическим для успеха проекта. Проект будет невозможен без этого требования. |
|
2 |
Высокий |
Это требование является высокоприоритетным, но проект может быть реализован как минимум без этого требования. |
|
3 |
Средний |
Это требование имеет определенную важность, так как обеспечивает некоторую ценность, но проект может быть реализован и без него. |
|
4 |
Низкий |
Это низкоприоритетное требование или функция «неплохо бы иметь», если позволяют время и стоимость. |
|
5 |
Будущее |
Это требование выходит за рамки данного проекта и было включено сюда для возможного будущего релиза. |
5.1 Функциональные требования
|
Req# |
Приоритет |
Описание |
Обоснование |
Пример использования Ссылка |
Затрагиваемые стейкхолдеры |
|
Общая / базовая функциональность |
|||||
|
FR-G-001 |
1 |
Должно быть создано новое главное хранилище виджетов для размещения записей имен и ссылок на объекты виджета. |
Единый репозиторий упрощает управление виджетом |
Команды разработчиков |
Шаблон BRD в Asana
Asana предоставляет бесплатный шаблон BRD, который вы можете редактировать в режиме реального времени. Этот компактный шаблон включает в себя только необходимые поля, а в каждом разделе есть советы о том, что нужно написать. Этот шаблон лучше всего подходит для получения одобрения для разработки от внутренних стейкхолдеров.
Перевод изображения:
Шаблон документа с бизнес-требованиями
Название проекта: Блог по техническому маркетингу
Руководитель проекта: Салли Браун
Дата отправки: 31 января 2022 г.
Статус документа: черновик, предложено V, утверждено, проверено
1. Краткое изложение
Наша технологическая компания планирует запустить корпоративный маркетинговый блог для обучения текущих пользователей, привлечения новой аудитории и продвижения продуктов.
2. Цели проекта
-
Повысить удержание клиентов на 10% в годовом исчислении
-
Увеличить количество просмотров веб-сайта на 1000 в месяц
-
Увеличить коэффициент конверсии в среднем на 20%
3. Объем проекта
Маркетинговая команда напишет контент для блога и будет сотрудничать с командой
SEO и дизайнеров для его оптимизации. Мы будем распространять четыре подробных поста в месяц.
4. Бизнес-требования
|
Приоритетный уровень |
Критический уровень |
Описание требований |
|
1 |
Высокий |
Планирование контента |
|
2 |
Средний |
Аналитика веб-сайта |
|
3 |
Средний |
Отслеживание CRM |
|
4 |
Средний |
SEO-аналитика |
5. Основные стейкхолдеры
|
Имя |
Должность |
Обязанности |
|
Салли Браун |
Менеджер проекта |
Руководитель блог-проекта |
|
Том Робертс |
Начальник отдела |
Одобряет инициативы по ведению блога |
|
Пит Холл |
Член маркетинговой команды |
Придумывает / пишет контент для блога |
|
Кристин Уотсон |
Член команды SEO |
Оптимизирует блог |
6. Ограничения проекта
|
Ограничение |
Описание |
|
Временная шкала |
Выполняйте четыре поста в месяц (по одному посту в неделю) |
|
Бюджет |
Придерживайтесь ежемесячного бюджета в размере 2000 долларов |
|
Доступность команды |
Необходимо придерживаться расписания членов команды |
|
Риски проекта |
Мы можем не получать просмотров, если у нас нет рейтинга в Google |
7. Анализ затрат и выгод
|
Стоимость |
Выгода |
|
Время члена команды |
Члены команды создают долгосрочные результаты |
|
Программное обеспечение для SEO |
Предоставляет информацию для ранжирования постов и повышения их видимости |
|
Дизайн/ управление блогом |
Удерживает аудиторию на странице и увеличивает конверсии |
|
Программное обеспечение /хостинг для блогов |
Требуется для запуска блога |
|
Общая стоимость = 2000 долларов в месяц |
Ожидаемая рентабельность инвестиций = 3000 долларов в месяц |
Шаблон BRD в Smartsheet
Smartsheet предлагает универсальный BRD-шаблон. Вы можете использовать его как для небольших внутренних разработок, так и в сложных, дорогостоящих проектах с внешними вендорами. Каждый раздел дополнен кратким описанием или примером того, что должно быть написано.
Хотите увидеть больше макетов? Вот 10 бесплатных шаблонов BRD от Smartheet (все они составлены по одному образцу).
Перевод изображения:
ШАБЛОН ДОКУМЕНТА О БИЗНЕС-ТРЕБОВАНИЯХ
ДЕТАЛИ ПРОЕКТА
НАЗВАНИЕ ПРОЕКТА
СОЗДАТЕЛЬ
НОМЕР ДОКУМЕНТА
ДАТА
ВЕРСИЯ №
1. КРАТКОЕ РЕЗЮМЕ СНАПШОТ
Представьте здесь резюме (обзор ваших бизнес-требований). Ваше резюме должно представлять собой «моментальный снимок» (снапшот) цели ваших бизнес-требований, включая краткое описание любого анализа, выводы, детали проекта, объём, бизнес-факторы, предлагаемый процесс, текущий процесс и функциональные требования. Резюме
представляет собой общий обзор более крупного документа или исследования и обычно является первым, что увидит ваш читатель. Вот вопросы, на которые вы должны ответить при написании резюме бизнес-требований:
-
Какова цель (назначение) этого документа бизнес-требований (BRD)?
-
Кто является аудиторией этого документа бизнес-требований?
Шаблон BRD ClickUp
Ищете простой BRD для управления вашими проектами? Попробуйте этот шаблон от ClickUp. Здесь есть только основные разделы (с листами), которые вы можете легко заполнить онлайн. Команды по маркетингу и продажам могут использовать данный шаблон в процессе доработки CRM, разработки API-коннекторов и т.д.
Лучше всего подходит для: Небольших внутренних проектов с минимальным количеством требований и результатов.
Перевод изображения:
Документ бизнес-требований (…
Резюме
Цели проекта
Объем проекта
Бизнес-драйверы
Функциональные требования
Финансовые отчеты
Стейкхолдеры
Расписание и сроки
Анализ затрат и выгод
Расписание и сроки
В этом разделе подробно описывается каждый этап проекта. Это позволяет убедиться, что все участники проекта знают, что необходимо выполнить и когда это будет необходимо.
Результаты
Крайний срок
Ответственное лицо
Составление документа о бизнес-требованиях
Независимо от масштаба вашего проекта, документ бизнес-требований поможет вам привести в порядок весь процесс. Благодаря этому документу у вас будет четкий план для руководства проектом. Кроме того, появится компактное резюме бизнес-кейса, на котором будет основываться ваша инициатива.
Если вы хотите запитчить свой бизнес в целом, изучите бесплатный шаблон коммерческого предложения от HubSpot. Мы расскажем, как резюмировать ваши решения, представить расценки и определить сроки реализации.
Какими навыками в первую очередь должен обладать системный аналитик? Поговорим об этом на открытом уроке, который пройдет 12 мая. На занятии ведущий системный аналитик поделится секретами успешного освоения профессии, расскажет о ключевых навыках, которые помогут реализоваться и стать востребованным специалистом. А также поможет понять, какие именно темы нужно изучить для успешного трудоустройства. Зарегистрироваться можно по ссылке ниже.
-
Записаться на открытый урок
ГЕОРГИЙ САВЕЛЬЕВ
Как разработать
бизнес-требования
Модель выявления требований
Давайте поговорим о том, откуда берутся требования. И бизнес-требования (БТ), и нефункциональные требования напрямую вытекают из потребностей бизнеса.
Напомним, что нефункциональные требования (НФТ) определяют свойства, которые система должна демонстрировать, или ограничения, которые она должна соблюдать, не относящиеся к поведению системы. Например, производительность, удобство сопровождения, расширяемость, надежность, факторы эксплуатации.
Из бизнес-требований, помимо функциональных (ФТ) и нефункциональных требований, напрямую могут вытекать ещё и требования причастных сторон. В свою очередь, из требований причастных сторон могут вытекать ФТ и НФТ.
Культурные образцы — это те требования, которые можно получить на основе стороннего опыта. То есть, изучая какой-то аналогичный готовый продукт на рынке, мы можем сформировать требования к своему продукту (даже если эти требования никто из стейкхолдеров не озвучивал напрямую).
Все виды требований возникают в конкретном контексте, то есть следуют из Операционного контекста, к которому относятся активы, спрос, технологии и так далее. Подробнее про влияние контекста на бизнес-требования смотрите в статье Бизнес-требования. Назначение.
В наглядном виде модель выявления требований представлена на схеме:
Модель выявления требований
Почему важно выявлять и документировать
бизнес-требования?
Бизнес-требования играют важную роль на проекте, поскольку помогают определить смысл проекта и обосновать его необходимость. Именно бизнес-требования, как правило, используются для определения рамок проекта, то есть входят в состав концепции проекта.
Ввиду своей понятности всем заинтересованным лицам, бизнес-требования служат артефактом, на основе которого удобно заключать договоренности. Чем ниже уровень требований, тем больше нюансов, а значит, сложнее договариваться.
Из БТ вытекают критерии приемки и именно на их основе производится оценка результатов разработки ИТ-решения.
Также бизнес-требования часто используются на проекте для приоритизации решений: если есть понимание, как то или иное решение связано с БТ, приоритизировать его не составит труда. Именно БТ являются снованием для принятия решений в ходе проектирования и внесения изменений в реализацию проекта.
Кроме того, бизнес-требования в Agile — это ключевой инструмент Product Owner для управления бэклогом продукта и ведения переговоров со стейкхолдерами.
Программа переподготовки
«Business Analyst Bootcamp»
Курс для тех, кто хочет сменить профессию и начать работать в ИТ с хорошими перспективами, занимаясь исследованием задач и проблем бизнеса и постановкой задач на автоматизацию
Какие бывают бизнес-требования?
Согласно концепции Six Sigma, бизнес-требования — это критичные активности предприятия, подлежащие выполнению для достижения целей организации, вне зависимости от конкретного решения.
Исходя из определения Six Sigma, классификация требований будет опираться на критичные активности, т. е. бизнес-требования могут быть связаны с:
- Определением значимых характеристик продуктов или услуг.
- Распознаванием и обработкой событий.
- Принятием решений (своевременность, правильность).
- Сбором, обработкой, хранением и предоставлением информации.
- Обеспечением возможности выполнения действий (субъект, действие, объект, время, условия, способ).
- Предотвращением возможности выполнения действий (субъект, действие, объект, время, условия, способ
Ниже приведены примеры бизнес-требований по видам критичных активностей.
Вид БТ: Значимые характеристики продуктов или услуг
Примеры БТ:
- Скорость обслуживания — очередь на кассе должна быть не длиннее 4 покупателей.
- Своевременность доставки — клиент должен получить пиццу горячей и не умереть ожидая ее.
- Простота получения услуги — оформление предварительно одобренного кредита должно завершаться за одно посещение клиента.
Вид БТ: Распознавание и обработка событий
Примеры БТ:
- Банк должен своевременно получать оповещения о сбоях в работе банкоматов.
- К моменту начала этапа работ, все нужные материалы и оборудование должны находиться на объекте строительства и быть готовыми к использованию.
- Сотрудники должны быть своевременно проинформированы о назначенных им задачах.
Вид БТ: Принятие решений
Примеры БТ:
- По каждому обнаруженному дефекту, на основе имеющейся информации, должно быть оперативно принято решение о способе его устранения в соответствии с протоколом реакции на аварийные ситуации.
- Решение о выдаче кредита должно приниматься на основании…
- Отпускная цена на товар для конкретного клиента определяется на основании… в зависимости от …
Вид БТ: Сбор, обработка, хранение и предоставление информации
Примеры БТ:
- С момента обнаружения дефекта и до его полного устранения должна регистрироваться и храниться следующая информация.
- Инвестиционный банк в конце каждого рабочего дня должен направлять Регулятору информацию о…
- Для принятия решений об участии в тендере необходимы результаты предварительной оценки себестоимости проекта.
Вид БТ: Обеспечение возможности выполнения действий
Примеры БТ:
- В случае неудовлетворенности качеством обслуживания, клиент должен иметь возможность направить жалобу по телефону, по электронной почте или через сайт компании.
- Клиент должен иметь возможность отказаться от заказа до момента его отправки.
- Покупатели должны иметь возможность оформить и оплатить покупку самостоятельно посредством мобильного приложения.
Вид БТ: Предотвращение возможности выполнения действий
Пример БТ:
- Должна исключаться возможность доступа к защищенным ресурсам лиц, не являющихся сотрудниками компании.
На данный момент в профессиональных сообществах аналитиков ведутся активные дискуссии по поводу требований, сформулированных в негативной форме. Считается, что абсолютное большинство этих требований можно и нужно переформулировать в позитивную форму — это снизит риск непонимания.
Требование, заданное с позиции «Система должна делать…», задает конкретное направление действиям разработчика, а также дает некоторые ограничения — в отличие от формулировки требований с позиции «Система не должна…»
Но, конечно, существуют ситуации, когда необходимо сформулировать требования именно в негативной форме и, чаще всего, это касается решения задач безопасности.
Признаки проблем в бизнес-требованих
Можно выделить несколько типичных признаков проблем с бизнес-требованиями.
- Неконкретность (слишком абстрактная формулировка)
- Невозможность проверки (нет понимания, что является индикатором выполнения требования)
- «Магические» числа (приведены какие-то необоснованные данные: «время обработки заявки 14 минут»)
- Непонятная польза (не написано, для чего делаем то, что делаем; действительно ли это необходимо)
- Избыточная детализация (зачастую делает требование слишком жестким и нечитаемым)
- Невыполнимость (например, требование «обеспечить 100%-ую достоверность данных». Для чего это требование? Почему возникают недостоверности? С этой проблемой можно как-то бороться или это просто факт?)
- Несогласованность (противоречивость; с одной стороны Покупатель хочет найти продукт с наилучшими качествами по наименьшей цене, а с другой — Продавец хочет стимулировать покупку продуктов, приносящих наибольшую прибыль)
- Нерелевантность (приведено требование, которое вообще не понятно, какое отношение имеет к данному проекту)
- Привязка к конкретному решению, в том числе — конкретный бизнес-процесс
Хотелось бы сделать акцент на работе с «Магическими числами», поскольку зачастую такие ошибки в требованиях встречаются даже у опытных аналитиков.
Работа с «магическими» числами
Чтобы проверить требование на наличие данной проблемы, можно определить чувствительность (столбец «чуть-чуть» в таблице) требования и его границы (столбец «гораздо» в таблице).
Для успеха проекта важно своевременно обнаруживать некорректные требования и решать, что с ними делать.
Для тестирования бизнес-требований на «магические числа» можно использовать модель, представленную на рисунке.
Любое число (разместим его в центральном круге) проверяется на чувствительность (на рисунке это столбец «чуть-чуть»). Что будет, если число будет немного больше? Есть ли какие-то последствия в таком случае для системы, стейкхолдеров? А если число будет чуть-чуть меньше?
Затем мы задаем вопросы, пытаясь выявить реальные границы требования. Что, если число будет значительно больше? На что это повлияет? А если влияние достаточно серьезно, то нельзя ли предложить дополнительный способ обойти проблему? Границы обозначены в модели как столбец «гораздо».
Расмотрим пример требования, которое содержит «магическое» число:
“
Требование: Сократить среднее время обработки заявки до 14 минут
Проверим это требование на чувствительность. Для этого зададим вопросы:
- Что будет, если время обработки заявки будет не 14, а 12 минут?
- Что, если увеличить до 14,5 мин? Насколько это критично?
В процессе проверки может выясниться, что обработка заявки может занимать даже 30 минут, не принося никакого ущерба бизнесу.
Проверим границы требования, ответив на вопросы:
- Может быть, целесообразно сократить время обработки до 0 минут, т. е. не обрабатывать заявки и перевести клиента на самообслуживание?
- Что будет, если одна заявка будет обрабатываться день? Это плохо? Как это скажется на бизнесе?
Данный тест помогает понять, является ли число «магическим». Если число связанно с какими-то объективными процессами (например, требованиями законодательства),
то мы можем определить его чувствительность и границы, а значит появление этого числа в требованиях вполне обосновано.
Если в ходе тестирования обнаружится, что установить чувствительность и границы числа не представляется возможным, такие требования необходимо переформулировать в конкретные условия или относительные величины.
Попробуем переформулировать требование на примере:
“
Исходное требование:
Оповестить надлежащих стейкхолдер не позднее 5 минут, после наступления события.
Новое требование:
Задержка в оповещении не должна приводить к задержке выполнения определенного действия получателем этого сообщения.
То есть задержка не должна ни на что влиять. Таким образом, мы достигаем некоторой гибкости относительно временных затрат.
Примеры некорректных бизнес-требований
- Обеспечить высокое качество обслуживания — Как проверить, что качество обслуживания высокое?
- Сократить среднее время обработки заказа до 14 минут — Почему до 14 минут, чем это обосновано? А почему не до 1 минуты? Какую пользу принесет сокращение времени обработки заказа?
- Обеспечить 100% достоверность учетных данных — Как мы узнаем какая достоверность? Как можно определить, что данные достоверны? В результате чего возникает недостоверность? С этим реально можно что-то сделать? Выполнимо ли данное требование?
- Гарантировать правильность принимаемых решений — Что выступает гарантом? Это выполнимо?
- Внедрить ERP — Кому и зачем это нужно? В чем проблема?
Типовые ловушки аналитика
Проблемы с требованиями, как правило, возникают, когда аналитик попадает в одни и те же типовые ловушки. Вот основные ловушки аналитика при работе с бизнес-требованиями:
- Формальность — «пишу, потому что надо здесь что-то написать».
- Узкие рамки анализа — не рассматриваем ничего, что выходит за рамки проекта.
- Превращение в аудит — выясняем все обо всем «на всякий случай».
- Превращение метода в цель — строгое следование определенному шаблону с превращением средств в цель и потерей основной цели проекта.
Что можно сделать с каждой из этих ловушек?
Как документируются бизнес-требования?
В практике бизнес-аналитика присутствует два основных подхода документирования требований:
1. Монолитно
- Все требования описываются вместе в виде структурированного повествовательного текста.
- Возможны ссылки на элементы требований (цели, метрики, предположения, риски и т. п.).
2. Дробно
- Каждое требование описывается отдельно.
- Каждому требованию присваивается уникальный идентификатор.
- Возможна трассировка к конкретному бизнес-требованию.
Ниже будет приведен шаблон для каждого из этих видов документирования.
Где документируются бизнес-требования?
Стандартом ISO предполагается, что бизнес требования будут отражены монолитно в Спецификации требований стейкхолдеров (StRS). Для этого предусмотрен отдельный раздел Introduction, который включает в себя Business Purpose (цели), Business Scope (границы), Business Overview (обзор бизнеса).
В ГОСТе 34.602−89 предполагается, что бизнес-требования будут описаны также, монолитом, в техническом задании на создание автоматизированной системы. в разделе Назначение и цели создания системы и Характеристика объектов автоматизации.
Если говорить о дробном документировании, то чаще всего это подходы, подразумевающие использование Спецификации бизнес-требований (BRD).
В Agile бизнес-требования могут быть отражены по-разному. Это не формализовано, нет стандарта документов и способов описания.
Шаблон монолитного описания БТ
Карл Вигерс в своей книге «Разработка требований к программному обеспечению. Руководство» предлагает хороший шаблон описания БТ монолитом в рамках документа Scope and Vision (рамки и видение). В этом документе выделяется раздел Бизнес-требования, который включает в себя:
- Контекст.
- Описание возможности.
- Бизнес-цели.
- Метрики успешности.
- Образ результата (Vision).
- Деловые риски.
- Предположения и зависимости бизнеса.
Советы Вигерса по описанию БТ
- Сокращайте шаблон в соответствии с потребностями.
- Заполняйте не сверху вниз, а по мере поступления информации.
- Пустой раздел — признак его ненужности или необходимости дополнительного изучения.
- Не повторяйте то, что уже описано в другом месте — сошлитесь на имеющееся описание.
- Исходите из возможности повторного использования БТ в других проектах.
- Выявляйте конфликты, противоречия и выносите на обсуждение.
- Проводите повторное рассмотрение БТ при каждой смене лиц, принимающих решения, чтобы убедиться, что понимание БТ не изменилось
Шаблон дробного описания БТ
Ниже представлен авторский шаблон дробного описания бизнес-требований. Он состоит из нескольких ключевых элементов:
1. Заголовок, который включает в себя:
- Уникальный идентификатор.
- Краткое описание.
2. Определение, развернутое объяснение, что из себя представляет БТ.
3. Источник, откуда это требование взялось.
4. Зависимости, если они есть между другими требованиями.
5. Обоснование, краткое пояснение мотивации.
6. Комментарий, любые пояснения. В приведенном ниже примере представлено описание диаграммы состояний.
Шаблон дробного описания БТ
Как документировать —
объединять или дробить?
Для того чтобы определиться с тем, как документировать, придерживайтесь следующих правил:
1. Нет нужды документировать, если:
- Узко-технический проект небольшого объема.
- Всем все понятно и вряд ли кому-то когда-то что-то будет непонятно.
2. Объединяем, если:
- Компактный проект с узкими целями.
- Узкая предметная область.
- Бизнес-требования умещаются на паре страниц.
3. Дробим, если:
- Много бизнес-требований.
- Сложные бизнес-требования.
- Могут реализовываться по отдельности.
- Высокая степень неопределенности.
Что делать с отсутствующими или плохими БТ?
Прежде всего стоит пересмотреть уже имеющиеся требования, разобраться в их назначении и перепроектировать при необходимости. Подобное фундаментальное переосмысление бизнес-процессов называется реинжиниринг.
Далее необходимо выяснить больше информации об этих требованиях. Сделать это можно посредством анализа документов, наблюдения, а также провести интервью, использовать метод пяти почему или бенчмаркинг (наблюдение за людьми в аналогичных организациях).
Полученную информацию необходимо задокументировать одним из нескольких способов:
1. Создать отдельный документ. Например, «Каталог целей» с дробным документированием бизнес-требований, на которые будем ссылаться.
2. Добавить комментарии к уже существующим требованиям, поясняя откуда оно взялось.
3. Собрать все непонятные требования в один документ и в начале этого документа вставить раздел Мотивация. В этом разделе необходимо указать, для чего нужно все то, что мы выяснили.
4. В конце готового документа требований добавить приложение Обсуждения и договоренности. В процессе заполнения разбить его на тематические разделы по бизнес требованиям и внести в них все договоренности с присвоением идентификаторов, на которые в последствии можно будет ссылаться в тексте самого документа.
Программа переподготовки
«Business Analyst Bootcamp»
Курс для тех, кто хочет сменить профессию и начать работать в ИТ с хорошими перспективами, занимаясь исследованием задач и проблем бизнеса и постановкой задач на автоматизацию
-
Что делать, если, помимо ТЗ, есть еще и пользовательские требования?
Зачастую пользовательские требования объединяются с бизнес-требованиями, т.к. объем БТ не очень большой, если они правильно определены, а значит делить эти требования на 2 отдельных документа нецелесообразно.
Во избежание возможного недопонимания, в названии документа можно явно указать «Требования бизнеса и пользователей». -
Вопрос:
Имеет ли смысл создание промежуточных документов таких как VSD (Vsion & ScopeDocument) и BRD (Business Requirement Document)?
С точки зрения Agile практик, бизнес-требования — это епархия Product Owner. Следовательно, работать нужно так, как удобно, и не создавать лишних документов для соблюдения формального протокола. Чем документов меньше, чем они компактнее и проще, тем эффективнее.
-
Должны ли в описание БТ быть включены требования к описанию «хотелок» в части User Interface?
Отрицать «хотелки» или указывать стейкхолдерам на их неуместность — не всегда хорошо. Поэтому можно написать требования так, как считаете нужным, а в примечании написать комментарий для разработчиков с пожеланиями конкретного стейкхолдера относительно реализации данного требования.
-
Обязательно ли современному аналитику владеть навыками программирования?
Не обязательно, но желательно. Чем шире кругозор аналитика, чем больше диапазон его возможностей, тем от более эффективным он будет выполнять свою работе и продвигаться по карьерной лестнице.
-
Должен ли аналитик просматривать баги проекта и принимать решения о их важности?
Иногда аналитик должен просматривать баги, а иногда — нет. Зависит от договоренностей в рамках проекта и распределения ролей в команде.
Что касается принятия решений о важности, то чаще всего их принимает аналитик. Но стоит помнить, что не всегда стоит загружать аналитика рутиной работой, т.к. из всех обнаруженных багов 80% не требуют, чтобы их прогоняли через формальный процесс, потому что и так всем понятны.
-
Должен ли аналитик проводить тестирование и валидацию продукта?
К функциям бизнес-аналитика относятся определение критериев приемки и оценки для продукта, поэтому они часто участвуют в приемо-сдаточных испытаниях и могут разрулить какую-то ситуацию. Т.е. аналитик не должен проводить тестирование, но хорошо, когда он участвует в приемо-сдаточных испытаниях.
-
Что является объектом требований вида «Должна собираться информация о недоступности банкомата» — к чему это бизнес требование? К организации? Подразделению? К бизнес-процессу?
Это требование бизнеса, объектом является банкомат, которым мы должны управлять. Управление состоит в том, что мы умеем различать его состояния, умеем отслеживать то, что с ним происходит, умеем реагировать на эти события и изменять состояния объекта управления, т. е. банкомата. Получается, это бизнес-требование, связанное с необходимостью и способностью организации управлять определенными типами объектов (например, банкоматами).
-
Что делать с функциями, если они не мапятся на конкретное БТ или мапятся сразу на два (при этом функция должна быть в скоупе)?
Важно понимать, для чего мы делаем трассировку. В данном случае мы делаем трассировку, чтобы понять — БТ выполняется или нет?
Нам не важно замапить все на все. Если мы делаем трассировку к модулям, это не значит, что нам надо оттрасировать каждую функцию и каждое требование. Достаточно понимать, данное требование — оно выполнено или нет? Если понимания достигнуто, то дальше можно не трассировать. Если мы пытаемся оттрасировать в другую сторону и видим какую-то висячую функцию, то это не значит, что у нас не должно быть никаких висячих функций, которые мы не можем замапить на какую-то функцию.
Стоит помнить, что трассировка — это инструмент, а не цель.
Георгий Савельев
Эксперт по бизнес-анализу, член Международного института бизнес-анализа (IIBA), первый CBAP в России. Соавтор BABOK v.3. Вице-президент IIBA Russian Chapter.
Имеет 20-летний опыт работы в качестве бизнес-аналитика, архитектора решений, консультанта и тренера в сфере производства и дистрибуции FMCG, складской и транспортной логистики, управления продажами, дорожного строительства, металлургии, нефтедобычи, гостиничного бизнеса, занятости, здравоохранения.
Участвовал в реализации более 50 проектов по разработке, внедрению и совершенствованию программного обеспечения.
С 1990 года занимается проведением тренингов и деловых игр для руководителей и специалистов. Автор статей по бизнес-анализу.
Создатель авторских аналитических методик и моделей оперативного планирования. Участвовал более чем в 20 консалтинговых проектах по увеличению прибыльности и совершенствованию операционной эффективности компаний.
Участник профессиональных ассоциаций IASA, ABPMP Russian Chapter.
Подписаться на новые статьи
Продолжаем разговор о требованиях. Часть 1
Повторим, что такое требование:
- Условие или возможность, требуемая пользователем для решения задач или достижения целей.
- Условие или возможность, которыми система/компонент системы должна обладать для обеспечения условий контракта, стандартов, спецификаций или др. регулирующими документами.
- Описание условий или возможностей, перечисленных в предыдущих пунктах.
Кратко: требование это зафиксированное желание пользователя, которое должна выполнять система.
Это определение неидеально. Потому что есть требования, которые пользователь явно не высказывает, например, работа системы в режиме 24/7, или пользователь высказал какое-нибудь пожелание, но оно не было реализовано. Особый случай: требование высказано в устной форме. На мой взгляд, если требование не зафиксировано в письменном виде, то оно не существует.
Требования можно разделить на две большие группы:
- функциональные требования
- нефункциональные требования
На картинке показано как разделение требований по группам, так и документы, в которых требования фиксируются.
Функциональные требования — что система должна делать.
К функциональным требованиям относят:
- Бизнес-требования. Что система система должна делать с точки зрения бизнеса. Слово «бизнес» в данном контексте ближе к слову «заказчик». Пример бизнес-требования: промо-сайт, привлекающий внимание определенной аудитории к определенной продукции компании.
- Пользовательские требования – описывают цели/задачи пользователей системы, которые должны достигаться/выполняться пользователями при помощи создаваемой программной системы. Эти требования часто представляют в виде вариантов использования (Use Cases). Иначе говоря, пользовательские требования — это что может сделать пользователь: зарегистрироваться, посмотреть определенную информацию, пересчитать данные по определенному алгоритму и прочее.
- Функциональные требования – определяют функциональность (поведение) программной системы, которая должна быть создана разработчиками для предоставления возможности выполнения пользователями своих обязанностей в рамках бизнес-требований и в контексте пользовательских требований. Другими словами, что будут делать разработчики, чтобы выполнить пользовательские требования.
В группу функциональных требований относят и системные требования. Эти характеристики могут описывать требования как к аппаратному обеспечению (тип и частота процессора, объём оперативной памяти, объём жесткого диска), так и к программному окружению (операционная система, наличие установленных системных компонентов и сервисов и т. п.). Обычно такие требования составляются производителем или автором ПО. Например, для игры это могут быть требования такого типа: видеокарта — объём памяти от 64 Мб, совместимость сDirectX 9.0b и новейшие драйвера. Для сайта: ОС — Windows не ниже XP, браузеры IE не ниже 7.0 и так далее.
Почему важно указывать системные требования и утверждать их у заказчика? Если не указать, например, что важно обеспечить просмотр сайта в IE 6, то разработчики вполне могут выбрать такое архитектурное решение, которое не позволит корректно отображать сайт. Системные требования напрямую зависят от целевой аудитории проекта.
Вторая группа требований это нефункциональные требования. Иначе говоря, как будет работать система и почему именно так.
- Бизнес-правила. Они определяют почему система работать должна именно так, как написано. Это могут быть ссылки на законодательство, внутренние правила заказчика и прочие причины. Часто упускают этот раздел и получается, что некоторые системные решения выглядят нетипичным и совсем неочевидными. Например, многие табачные компании и компании, производящие алкоголь требуют постоянного доказательства того, что промо-сайтами пользуются люди, достигшие определенного возраста. Это бизнес-правило (подтверждение возраста) возникает по требованию этических комитетов заказчика, хотя и несколько противоречит маркетинговым целям и требованиям по usability.
- Внешние интерфейсы. Это не только интерфейсы пользователя, но и протоколы взаимодействия с другими системами. Например, часто сайты связаны с CRM системами. Особенности протокола взаимодействия «сайт-CRM» также относятся к нефункциональным требованиям.
- Атрибуты качества. Атрибуты касаются вопросов прозрачности взаимодействия с другими системами, целостности, устойчивости и т.п. К таким характеристикам относятся:
- легкость и простота использования (usability)
- производительность (performance)
- удобство эксплуатации и технического обслуживания (maintainability)
- надежность и устойчивость к сбоям (reliability)
- взаимодействия системы с внешним миром (interfaces)
- расширяемость (scalability)
- требования к пользовательским и программным интерфейсам (user and software interface).
Более подробно про атрибуты качества
- Ограничения – формулировки условий, модифицирующих требования или наборы требований, сужая выбор возможных решений по их реализации. В частности, к ним могут относиться параметры производительности, влияющие на выбор платформы реализации и/или развертывания (протоколы, серверы приложений, баз данных, …). Ограничения часто основываются на бизнес-правилах.
Относительно состава групп функциональных и нефункциональных требований до сих пор нет согласия. Разные авторы и эксперты могут как добавлять, так и исключать подгруппы требований. Например, часто ограничения объединяют с бизнес-правилами, а бизнес-требования объединяют с ключевыми потребностями.
Существует прекрасная методика FURPS+, позволяющая создать качественную документацию при разработке ПО сколь угодно большой сложности.
Все вышесказанное относится только к дисциплине «Управление требованиями» в рамках методологии RUP. В рамках ГОСТ и определения требований другие и сами требования разбиваются на совершенно другие группы.
Читать про характеристики требований
Одна из основных профессиональных обязанностей системного и бизнес-аналитика – это управление требованиями при разработке программного обеспечения. Сегодня мы рассмотрим, какие виды требований выделяет BABOK®Guide и как это профессиональное руководство по бизнес-анализу рекомендует работать с ними.
Что такое требование и дизайн по BABOK
Начнем с определений по BABOK®Guide: требование – это пригодное для практического использования представление решения в виде условия или возможности, которые необходимы заинтересованной стороне (стейкхолдеру) для достижения цели, инициированной потребностью. BABOK®Guide различает следующие виды требований:
- Бизнес-требование (business requirement), которое отвечает на вопросы «Почему это нужно?» или «Зачем я этого хочу?» и представляет собой отображение целей, задач и результатов, объясняющих, для чего было инициировано изменение и каким образом будет оцениваться успех его реализации. Подробнее о том, как выявить и сформулировать бизнес-требования с примерами читайте здесь.
- Требование стейкхолдера (stakeholder requirement), которое отвечает на вопрос «Что нужно?» и описывает потребности отдельной заинтересованной стороны или целой группы стейкхолдеров, необходимые для выполнения бизнес-требований. Фактически, они могут играть роль проводника от бизнес-требований до требований к решению.
- Требование к решению (solution requirement), которое отвечает на вопрос «Что я хочу?» и описывает возможность или качество решения, удовлетворяющие требованиям стейкхолдера. Требования к решению делятся на функциональные требования и нефункциональные. Функциональное требование (functional requirement) означает поведенческую возможность, которую должно предоставлять решение. Нефункциональное требование (non-functional requirement) описывает особенности эксплуатации: производительность, информационную безопасность, удобство использования и выражается в измеримых показателях, которые являются своего рода ограничениями варианта реализации (дизайна) решения. Подробнее про нефункциональные требования читайте в нашей новой статье.
- Переходное требование (transition requirement), которое отвечает на вопрос «Каковы условия реализации перехода от бизнес-потребности к внедренному решению?», описывая возможности решения и условия, каким оно должно соответствовать для перехода из текущего состояния в целевое. В отличие от других видов требования, переходное требование является временным, т.к. становится не нужным после завершения изменения. Например, требование относительно форматов и процедур преобразования данных при переходе от одной системы к другой.
Лучшее из BABOK®Guide: ТОП-10 задач и 20+ техник для аналитика
Код курса
EXBAB
Ближайшая дата курса
3 июля, 2023
Длительность обучения
24 ак.часов
Стоимость обучения
45 000 руб.
Итак, потребность трансформируется в требование, которое, в свою очередь, в дальнейшем преобразуется в проект решения или дизайн – пригодное для практического использования представление решения. Требования и дизайны очень близки друг другу: в частности, при работе с ними часто используются одни и те же техники выявления, моделирования и анализа. Требование является входом для разработки дизайна, который может повлечь дополнительное выявление и анализ требований. Тем не менее, BABOK®Guide дифференцирует требования и дизайны по следующему принципу:
- если фокус лежит на понимании потребности, речь идет о требовании;
- когда речь идет о конкретном варианте реализации, т.е. решении, аналитик имеет дело с дизайном.
При этом руководство BABOK отмечает, что в ИТ-сфере термин проект (дизайн) обычно используется именно для технических вариантов решения, которые создаются непосредственно специалистами по реализации: разработчиками программного обеспечения, ИТ-архитекторами и т.д. А требование означает выдвигаемые бизнесом условия или ожидаемые возможности.
Трассировка требований по BABOK®Guide
Задачи управления требованиями в BABOK®Guide
Из 6-ти областей знаний BABOK целых 2 посвящены непосредственной работе с требованиями: «Управление жизненным циклом требований» (Requirement Life Cycle Management) и «Анализ требований и определение дизайнов» (Requirements Analysis and Design Definition). Как видно из названия, область знаний «Анализ требований и определение дизайнов» носит инструментальный характер и сосредоточена на моделировании – именно здесь разрабатываются различные виды процессных и структурных диаграмм, например, UML, BPMN, IDEF0, EPC, DFD или ERD, чтобы описать поведение и строение проектируемого решения, а также процедуры работы с ним через решение следующих задач бизнес-анализа:
- Спецификация и моделирование требований (Specify and Model Requirements)
- Верификация требований (Verify Requirements)
- Валидация требований (Validate Requirements)
- Определение архитектуры требований (Define Requirements Architecture)
- Определение вариантов дизайна (Define Design Options)
- Анализ потенциальной ценности и рекомендация решения (Analyze Potential Value and Recommend Solution)
Чем отличается верификация от валидации, читайте в нашей новой статье. А непосредственное управление требованиями выполняется в рамках области знаний «Управление жизненным циклом требований» и включает следующие задачи работы с требованиями:
- Трассировка (Trace Requirements)
- Поддержание (Maintain Requirements)
- Приоритизация (Prioritize Requirements)
- Оценка изменений (Assess Requirements Changes)
- Утверждение (Approve Requirements)
Управление бизнес-анализом — курс для руководителей
Код курса
BAMP
Ближайшая дата курса
22 мая, 2023
Длительность обучения
8 ак.часов
Стоимость обучения
15 000 руб.
Графически взаимосвязь между задачами по управлению жизненным циклом требований можно изобразить следующим образом.
Практическое управление требованиями реализуется с помощью соответствующих программных инструментов, например, Archi для моделирования диаграмм, и Jira для трассировки, приоритезации и поддержания требований. В следующей статье мы рассмотрим, как организовать управление требованиями в Agile-проектах с учетом особенностей гибких методологий и строгих предписаний ГОСТов на разработку ТЗ. А процессы и стадии жизненного цикла требований разбираются в этом материале.
Разработка ТЗ на информационную систему по ГОСТ и SRS
Код курса
TTIS
Ближайшая дата курса
24 июля, 2023
Длительность обучения
12 ак.часов
Стоимость обучения
20 000 руб.
А освоить техники и рекомендации BABOK®Guide по управлению требованиями и другим задачам бизнес-анализа вам помогут курсы Школы прикладного бизнес-анализа в нашем лицензированном учебном центре обучения и повышения квалификации аналитиков, менеджеров и ИТ-специалистов в Москве:
- Управление бизнес-анализом – курс для руководителей
- Разработка ТЗ на информационную систему по ГОСТ и SRS
Любые новые действия, продукты или проекты создаются в ответ на потребности бизнеса. Тем не менее, мы часто оказываемся в ситуациях, когда несмотря на огромные затраты времени и ресурсов, прослеживается несоответствие результата разработок реальным потребностям клиентов.
Жаловалась ли когда-нибудь клиентка на то, что ей доставили не то, что она заказала? Изменил ли кто-нибудь из заинтересованных лиц свое мнение о результатах, когда вы были на полпути к завершению проекта? Встречались ли вы с противоречивыми требованиями от нескольких клиентов? И выдвигались ли вам когда-нибудь новые требования сразу после того, как создание продукта было фактически завершено?
Целенаправленный и подробный анализ бизнес-требований может помочь избежать подобных проблем. Это процесс обнаружения, анализа, определения и документирования требований, связанных с конкретной бизнес-целью. И с его помощью вы четко и точно определяете масштаб проекта, чтобы оценить сроки и ресурсы, необходимые для его завершения.
Помните, чтобы получить ожидаемый результат, нужно точно определить его — достичь этой цели поможет глубокий анализ бизнес-требований. Иными словами, чтобы лучше понять бизнес-потребности, нужно разделить их на подробные, конкретные требования, которые всех устраивают. Более того, обычно гораздо быстрее и дешевле устранить проблему или недоразумение на этапе анализа, чем при поставке «готового продукта».
Во многих компаниях уже разработаны свои процедуры и методологии для проведения анализа бизнес-требований, которые оптимизированы для использования в данной организации или отрасли. Если таковые существуют, используйте их! Тем не менее, будет полезно учесть и информацию, которую мы расскажем вам далее.
Как определить бизнес-требования
Руководство по проведению анализа бизнес-требований состоит из пяти этапов.
1. Определение ключевых заинтересованных сторон
Определите ключевых людей, которые будут затронуты проектом. Сначала уточните, кто именно спонсирует проект. Им может быть внутренний или внешний клиент. В любом случае важно знать, за кем решающее слово в отношении того, что будет включено в рамки проекта, а что нет.
Затем определите, кто будет использовать данное решение, продукт или услугу, то есть ваших конечных пользователей. Поскольку ваш проект предназначен для удовлетворения их потребностей, необходимо учитывать их пожелания.
Убедитесь, что вы составили полный список заинтересованных сторон: помните, что все конечные потребители продукта или услуги могут находиться в одном подразделении или отделе, или же они могут быть распределены по разным отделам или уровням вашей организации. Наша статья об анализе заинтересованных сторон поможет вам определить их.
2. Учет требований заинтересованных сторон
Узнайте требования всех ключевых заинтересованных сторон к новым продуктам или услугам. Каковы их ожидания и пожелания?
Помните, что каждый человек рассматривает проект со своей индивидуальной точки зрения. Вы должны принять эти различные точки зрения и собрать соответствующие требования, чтобы составить полную картину результата проекта.
Общаясь с заинтересованными сторонами, четко представляйте, в чем заключается основной объем проекта, и проводите свои обсуждения в рамках этого. В противном случае у конечных пользователей может возникнуть соблазн внести все виды функциональности, которые ваш проект и не предполагал предоставлять. Если пользователи будут подразумевать такие требования, они будут разочарованы, не обнаружив их реализации в окончательном продукте.
Для понимания и учета этих требований можно использовать четыре следующих метода.
- Метод 1. Общение с заинтересованными сторонами
Проведите личную беседу с каждым заинтересованным лицом или конечным пользователем. Это позволяет понять конкретные взгляды и потребности каждого из них.
- Метод 2. Использование групповых семинаров или фокус-групп
Они помогут вам понять, как происходит обмен информацией между различными подразделениями или отделами, и обеспечить бесперебойное управление передачей данных.
Во время групповых семинаров и фокус-групп задавайте вопрос «Почему?» для каждого требования. Это поможет устранить неприемлемые или излишние требования и составить список наиболее важных задач.
- Метод 3. «Варианты использования»
Этот метод-сценарий позволяет вам шаг за шагом пройти через всю систему или процесс в качестве пользователя, а также понять, как будет работать система или сервис. Это очень удобный метод сбора информации о функциональных требованиях, но вам может потребоваться несколько «вариантов использования», чтобы оценить функциональность всей системы.
Возможно уже существуют варианты использования аналогичных систем или служб. Их можно взять в качестве отправной точки для разработки собственного варианта использования.
- Метод 4. Создание прототипов
Создайте макет или модель системы или продукта, чтобы пользователи получили представление о том, как будет выглядеть конечный результат. С помощью прототипа пользователи смогут получить ответы на свои вопросы относительно практического применения, а также выявить любые несоответствия и проблемы.
Вы можете использовать любые из вышеперечисленных методов для сбора максимального количества требований. Например, получив после проведения интервью полный список требований, вы сможете создать прототип системы или продукта.
3. Классификация требований
Чтобы упростить анализ, сгруппируйте требования по следующим четырем категориям:
- Функциональные требования — определяют, как продукт/услуга/решение должны функционировать с точки зрения конечного пользователя. Они описывают характеристики и функции, с которыми потребитель будет взаимодействовать непосредственно.
- Эксплуатационные требования — определяют операции, которые должны выполняться в фоновом режиме, чтобы продукт или процесс функционировали в течение определенного периода времени.
- Технические требования — определяют технические вопросы, которые необходимо учитывать для успешного внедрения процесса или создания продукта.
- Переходные требования — это шаги, необходимые для бесперебойного внедрения нового продукта или процесса.
4. Интерпретация и регистрация требований
После того как вы собрали и классифицировали все требования, определите, какие из них реально достижимы и как система или продукт могут им соответствовать.
Чтобы интерпретировать требования, выполните следующие действия:
- Точно определите требования. Убедитесь, что требования отвечают следующим условиям:
- Не подразумевают двусмысленности и не расплывчаты.
- Четко сформулированы.
- Достаточно подробны (перерасходы и проблемы проекта обычно возникают из-за появления неизвестных факторов, которые не были идентифицированы или достаточно хорошо проанализированы).
- Связаны с потребностями бизнеса.
- Точно определяют рабочую систему или дизайн продукта.
- Определите приоритеты требований. Хотя все требования важны, некоторые из них имеют приоритет над остальными, а бюджеты обычно ограничены. Поэтому определите, какие требования относятся к действительно важным, а какие к «дополнительным».
- Проанализируйте влияние изменений. Проведите импакт-анализ, чтобы убедиться в полном понимании последствий, которые ваш проект будет иметь для существующих процессов, продуктов и людей.
- Разрешите конфликты. Обсудите с ключевыми заинтересованными сторонами и разрешите любые конфликты требований. Для этого может пригодиться анализ сценариев, поскольку он позволит всем вовлеченным лицам понять, как предлагаемый проект будет работать в различных возможных «будущих ипостасях».
- Проанализируйте исполнимость. Определите, насколько надежным и доступным в использовании будет новый продукт или система. Детальный анализ может помочь выявить любые серьезные проблемы.
По окончании анализа представьте свои ключевые выводы и подробный отчет о потребностях бизнеса в письменном виде.
Распространите этот документ с указанием реалистичного срока завершения проекта среди ключевых заинтересованных сторон, конечных пользователей и групп разработчиков, чтобы получить обратную связь. Этот отчет будет способствовать разрешению любых затянувшихся конфликтов заинтересованных сторон и может стать частью «контракта» или соглашения между вами и всеми заинтересованными сторонами.
5. Получение официального подтверждения
Наконец, получите подписанное ключевыми заинтересованными сторонами или представителями их групп соглашение, в котором отмечено, что представленные требования точно отражают их потребности. Это официальное обязательство сыграет важную роль в обеспечении того, чтобы в дальнейшем не пострадать от «расползания масштаба проекта».
Фундаментальное описание требований к ПО и подходов к их выявлению и сбору от тестировщика Noveo Вадима: пост освещает все аспекты этой области знаний, структурирует информацию и не оставляет ни малейшего шанса недопониманиям и «темным» местам. Приятного прочтения!

Вадим
Noveo Test Engineer
Мы с вами как тестировщики каждый день работаем с требованиями. Суть нашей работы — выяснять, соответствует ли разрабатываемая система требованиям заказчика, рынка и отраслевым стандартам. Более того, в наши обязанности входит проверка требований на соответствие критериям качества. В идеальном мире мы с вами были бы просто гарантом качества — судьями, дающими объективную оценку. Но, к сожалению, мир не идеален, и строгое распределение участников проекта на роли чаще всего не представляется возможным. В эпоху повсеместного использования гибких методологий разработки мы с вами должны обладать знаниями, позволяющими выполнять задачи не только контроля качества.
Цели этого поста заключаются в следующем:
- Определить, что такое требование, какие типы и уровни требований выделяют.
- Понять, какие существуют методы сбора и выявления требований.
- Предоставить почву для дальнейшего изучения сферы системного и бизнес-анализа.
Требования
Начнем с требований как таковых:
- Что они из себя представляют?
- Какие виды требований выделяются?
- Как они согласуются?
- Какие источники требований можно выделить?
Определение требования
Прежде чем погрузиться в теорию разработки требований к ПО, попробуйте, основываясь на своих знаниях и опыте, ответить на вопрос: как вы определяете термин «требование»?
Вопрос, что считать требованием к ПО, является сугубо дискуссионным. Но так или иначе нам с вами необходима отправная точка для изучения темы, поэтому обратимся к уже устоявшимся определениям:
Требования к ПО — это спецификация того, что должно быть реализовано. В них описано поведение системы, свойства системы или ее атрибуты. Они могут служить ограничениями в процессе разработки системы (Ian Sommerville и Pete Sawyer, 1997).
Требования к ПО — совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе разработки требований к программному обеспечению (ПО), в результате анализа требований (Википедия).
Из определений можно выделить следующие пункты, которые относятся к требованиям:
- Спецификация — документ, устанавливающий требования.
- Реализация — интерпретация требований в виде разработанной системы (одни и те же требования можно реализовать различными способами).
- Описание поведения системы (то, как система должна работать при различных входных условиях).
- Описание свойств / атрибутов / качеств системы.
Как видно выше, устоявшиеся термины не отражают всю полноту понятия «требование к ПО», поэтому также стоит отметить следующее: требования охватывают как видение пользователя, так и внешнее поведение системы, а также представление разработчика о некоторых внутренних характеристиках. Они включают как поведение системы в определенных условиях, так и свойства, которые делают систему полезной и удовлетворяющей конечных пользователей.
Термин «требование» охватывает довольно широкую предметную область. Поэтому возникает вопрос типизации и классификации требований.
Уровни и типы требований
Требования к ПО состоят из трех уровней:
- Бизнес-требования.
- Пользовательские требования.
- Функциональные требования.
Отдельно вне иерархии выделяют нефункциональные требования. Они так или иначе всегда представлены на всех уровнях требований и прямо или косвенно влияют также на все из них. Далее подробнее разберем каждый уровень требований отдельно.
Бизнес-требования BRQ
Бизнес-требование (business requirements) — высокоуровневая бизнес-цель организации или заказчиков системы.
Бизнес-требования описывают, почему организации нужна такая система, то есть цели, которые организация намерена достичь с ее помощью. Основное их содержание — бизнес-цели организации или клиента, заказывающих систему.
Бизнес-требования — это верхний уровень абстракции требований к системе. Они не относятся напрямую к реализации проекта, а в первую очередь отражают цели бизнеса, абстрагированные от реализации системы. В конечном итоге бизнес-требования формируют документ концепции и границ.
Если кратко, документ содержит определение следующих понятий:
- Бизнес-возможности, бизнес-проблемы — факты и события, формирующие бизнес-цели, то есть грубо — причины инициации проекта.
- Бизнес-цели — цели, которые должны быть решены разработкой и вводом в эксплуатацию системы. Являются критериями успеха проекта.
- Концепция продукта (Vision) — сжато описывает конечный продукт, который достигнет заданных бизнес-целей.
- Границы проекта (scope) — показывают, на какую часть конечной концепции продукта будет направлен текущий проект или итерация.
Примеры бизнес-требований:
Сократить время обработки заказа на 50% (цель) — система должна предоставить интерфейс, упрощающий создание заказа (концепция).
Увеличить клиентскую конверсию до 35% (цель) — в системе должны быть представлены механизмы побуждения клиента к заказу (концепция).
Говоря о сборе и выявлении требований, нельзя опускать вопрос, в каких источниках искать требования. Под источниками требований подразумевается любой источник информации, используя который мы можем сформулировать требование.
Источники бизнес-требований (где искать?):
- Внутренняя документация компании (положения, инструкции, приказы).
- Документация по предметной области (профильные литература и статьи, исследования).
- Нормативная документация (законы и иные правовые акты, государственные стандарты).
- Продукты конкурентов.
Стейкхолдеры (у кого спрашивать?):
- Инициатор проекта.
- Руководитель проекта (менеджер проекта).
- Руководитель структурного подразделения заказчика (коммерческий директор, директор по маркетингу).
- Бизнес-аналитик.
P.S. Список стейкхолдеров меняется от проекта к проекту, для каждого проекта необходимо отдельно определять список заинтересованных/ответственных лиц. Списки, представленные мной, являются сугубо примерами из моей практики.
QA и разработчики, как правило, не участвуют в сборе и анализе бизнес-требований. Но нам важно понимать верхнеуровневые цели, которые преследует проект, так как пользовательские и функциональные требования — это следствие выявления, анализа и декомпозиции бизнес-требований. Работая с бизнес-требованиями, вы в первую очередь погружаетесь в предметную область заказчика. На мой взгляд, это очень важно для всех участников проекта. Если член команды погружен в предметную область заказчика, существенное количество вопросов отпадет, а следовательно, сокращается и время, потраченное на коммуникации.
Пользовательские требования URQ
Пользовательские требования (user requirements) описывают цели или задачи, которые пользователи должны иметь возможность выполнять с помощью продукта, который в свою очередь должен приносить пользу кому-то. Область пользовательских требований также включает описания атрибутов или характеристик продукта, которые важны для удовлетворения пользователе (Карл Вигерс, «Разработка требований к программному обеспечению»).
Пользовательские требования определяют набор пользовательских задач, которые должна решать программа, а также способы (сценарии) их решения в системе (Википедия).
Пользовательские требования также часто именуются фичами.
Фича (функциональность) — функционально обобщенные части системы, решающие отдельные задачи пользователей или интерпретирующие бизнес-процессы (и их артефакты), которые будут реализованы в рамках системы.
Исходя из вышеописанных определений, пользовательские требования содержат:
- Цели и задачи пользователей.
- Сценарии использования — способ решения задачи пользователей.
- Как следствие, описание самих пользователей системы:
- пользовательские роли,
- уровни доступа.
В конечном итоге пользовательские требования формируют «Документ пользовательских требований». Пользовательские требования могут быть представлены в виде:
- текстового описания,
- вариантов использования, сценариев использования (Use Case),
- пользовательских историй (User Story),
- диаграммы вариантов использования.
Как правило, пользовательские требования описываются по следующему шаблону:
Пользователь должен иметь возможность + {тезис}.
Пример пользовательского требования:
Пользователь должен иметь возможность добавить объект в избранное (функциональность).
Источники пользовательских требований требований (где искать?):
- Анализ и декомпозиция бизнес-требований.
- Описание бизнес-процессов.
- Артефакты бизнес-процессов:
- документы входные/выходные,
- стандарты,
- регламенты,
- обрабатываемые данные,
- иная информация, используемая и/или производимая в бизнес-процессе.
- Отраслевые стандарты.
- Реализованные проекты, проекты конкурентов.
Стейкхолдеры (у кого спрашивать?):
- Бизнес-аналитик, системный-аналитик.
- Конечные пользователи — люди, взаимодействующие с системой напрямую.
- Косвенные пользователи — люди, использующие результаты работы системы, не взаимодействуя с ней напрямую.
- Представители пользователей.
- Менеджер проекта.
- Руководитель структурного подразделения заказчика.
Этот уровень требований напрямую входит в круг обязанностей QA-инженера. В задачи QA на этом уровне входит:
- Определение соответствия описания требований критериям качества.
- Анализ требований для проработки сценариев тестирования.
- При достаточном уровне компетенций в предметной области:
- определение соответствия требований устоявшимся отраслевым стандартам (например: системе не достаёт фичи, которая в рамках предметной области системы является обязательной);
- определение соответствия требований с утвержденными бизнес-требованиями. Ответ на вопрос: «Решает ли пользовательское требование бизнес-цели проекта и задачи пользователей?«.
Функциональные требования FRQ
Функциональные требования (functional requirements) — описание требуемого поведения системы в определенных условиях.
Функциональные требования определяют, каким должно быть поведение продукта в тех или иных условиях. Они определяют, что разработчики должны создать, чтобы пользователи смогли выполнить свои задачи (пользовательские требования) в рамках бизнес-требований.
Функциональные требования самые низкоуровневые. Являются результатом декомпозиции верхнеуровневых требований и описывают атомарные функции, которые должны быть реализованы в системе.
Пример функциональных требований:
Пользователь должен иметь возможность добавить объект в избранное (URQ):
FRQ 1 — Добавить в избранное.
FRQ 2 — Удалить из избранного.
FRQ 3 — Редактирование дополнительных атрибутов.
FRQ 4 — Обращение к объекту из меню избранного.
Источники требований (где искать?):
- Анализ пользовательских требований.
- Таски.
- Прототипы интерфейса (мокапы).
- Отраслевые стандарты.
- Внешние системы и документация к ним (интеграции).
Стейкхолдеры (у кого спрашивать?):
- Бизнес-Аналитик.
- Системный аналитик.
- Архитектор.
- Менеджер проекта.
- Разработчики.
Нефункциональные требования NFRQ
Нефункциональное требование (non-functional requirements) — описание свойства или особенности, которым должна обладать система, или ограничение, которое должна соблюдать система.
На мой взгляд, это крайне исчерпывающее определение. Как вы могли заметить, нефункциональные требования не входят в основную иерархию требований. Их выделяют от других типов требований, так как нефункциональные требования:
- Выявляются и формулируются на всех уровнях иерархии требований.
- Напрямую или косвенно влияют на формирование каждого уровня требований.
Совет: Чаще всего нефункциональные требования отвечают на вопрос «Как? Каким образом?».
Пример нефункциональных требований, которые являются основной идеей проекта: Тик Ток.
С точки зрения разработки функциональный скоуп проекта не является уникальным:
- смотреть контент,
- предлагать ротацию контента на основе алгоритмов,
- создавать контент.
Все эти фичи так или иначе были представлены в других проектах. Ключом успеха проекта в данном случае является его UI/UX. А UI/UX сам по себе не отвечает за функции системы, а отвечает за то, каким образом будут реализованы эти функции.
SRS
В конечном итоге все требования консолидируются в одном документе «Спецификации требований к системе». Выше вы можете видеть структуру документа SRS. Ни в коем случае нельзя воспринимать её как жесткий стандарт (хотя таковой имеется: ISO/IEC/IEEE 29148:2011). Я предлагаю вам использовать эту структуру как чек-лист для определения полноты описания системы. Стоит отметить, что внутренние стандарты документирования и полноты требований меняются от проекта к проекту, но набор типов требований всегда будет идентичен. Кто-то опускает бизнес-требования, для кого-то пользовательские требования тождественны функциональным. В конечном итоге все требования — лишь абстракция, и каждая команда подбирает под себя удовлетворительный уровень детализации этой абстракции.
Выявление требований
Выявление требований — итеративный процесс, состоящий из следующих этапов:
- Подготовка к выявлению.
- Выявление.
- Утверждение результатов.
Подготовка к выявлению требований
В процессе подготовки к выявлению требований необходимо ответить на следующие вопросы:
1. Что необходимо выяснить? — Анализируем имеющуюся информацию о системе:
а. Анализ текущего описания требований к системе.
b. Анализ текущей реализации системы.
c. Выявление недостающих и/или недостаточно описанных требований.
2. У кого? Где? — Определить источник требований:
а. Собрать список доступных источников, таких как:.
i. Документация.
ii. Артефакты бизнес-процессов и/или текущей реализации системы.
b. Определить список стейкхолдеров, которые могут выступать источником требований к системе.
3. Каким образом? — Выбрать оптимальный метод выявления требований.
Выявление требований. Интервью
Самый популярный и, возможно, эффективный метод выявления требований. Представляет из себя беседу с заказчиком.
Подготовка к интервью
Подготовка к интервью состоит из следующих этапов:
1. Собрать информацию о собеседнике(ах):
а. Роль в проекте?
b. За какие вопросы ответственен?
2. Подготовить вопросы:
a. Сформулировать проблематику интервью.
b. Сформулировать вопросы.
c. Подготовить дополнительные вопросы.
3. Определить тайминг встречи.
a. Нужно стараться уложиться в один час. Чаще всего человек начинает терять концентрацию после 40 минут непрерывной беседы.
b. Для каждого вопроса определить необходимое время на обсуждение.
c. Если вы не успеете задать все вопросы в рамках одной встречи, назначьте несколько встреч.
4. Согласовать календарь встреч.
a. Если предполагается несколько встреч — то не обходимо составить график встреч.
b. Для каждой встречи указать проблематику, вопросы, которые будут обсуждаться, длительность.
От себя рекомендую подготовить файл с вопросами и планом интервью. Для примера — вот шаблон, который использую я:
Протокол интервью
Проект:{}
Дата проведения:{}
Интервьюер: {Кто проводит интервью}
Интервьюируемый:{Кому задаём вопросы}
Проблематика:{Тема интервью}
Вопрос № 1:
Тайминг вопроса:
Текст вопроса:
Таймкод:
Ответы на вопрос:
Стейкхолдер 1 —
Стейкхолдер 2 —
Проведение Интервью
Проведение интервью — сложный навык, который требует времени и практики. Но просто задавать вопросы, я думаю, будет не сложно. Итак, ниже список рекомендаций, которые помогут вам провести интервью:
1. Всегда ведем запись встречи.
a. Спрашиваем собеседника, не против ли он вести запись разговора.
b. Включаем запись после согласия собеседника.
2. Small talk для разрядки.
a. Как настроение?
b. Как погода?
c. И т.д. и т.п.
d. Но не затягиваем, пара вопросов из вежливости, не более.
3. Начинаем с объявления проблематики.
4. Стараемся следовать плану встречи. Вопросы задаём последовательно.
5. Желательно в плане указываем тайм-код, в какую минуту разговора задан вопрос, чтобы упростить дальнейшую обработку протокола.
6. Стараемся раскрывать вопросы дополнительными вопросами. Беседа должна быть живой, не должна скатываться в сухой формат вопрос-ответ, иначе проще отправить собеседнику опросник и не тратить его время на встречу.
7. В конце обсуждения не лишним будет подтвердить позицию собеседника закрытым типом вопроса.
a. Например: Я правильно вас понял, что необходимо реализовать функционал следующим образом {Тезис}?
Обработка результатов Интервью
После проведения интервью необходимо письменно зафиксировать полученную информацию. Рекомендую делать это сразу после интервью. Итак:
1. Заполняем протокол встречи.
a. Читать краткий протокол встречи намного проще, чем смотреть часовую запись в поисках ответов.
2. Направляем участникам встречи результаты в формате «Вопрос — Зафиксированное решение».
b. Это необходимо для получения от заказчика письменного утверждения результатов встречи.
Плюсы и минусы метода
Плюсы метода:
- Наиболее эффективный способ метод сбора требований.
- Меньшая вероятность недопонимания между собеседниками.
- Большая вероятность выявления «скрытых» требований.
Минусы метода:
- Могут возникнуть сложности согласования требований от разных стейкхолдеров.
- Высокие временные затраты.
- Качество проведения интервью напрямую зависит от интервьюера.
Выявление требований. Анкетирование
Метод анкетирования подразумевает создание анкеты (списка вопросов) и её рассылку большому количеству опрашиваемых.
Подготовка
Подготовка к анкетированию состоит из следующих этапов:
1. Собрать контакты опрашиваемых стейкхолдеров.
2. Подтвердить готовность стейкхолдеров участвовать.
3. Подготовить анкету:
a. Анкета должна содержать вводную. Нельзя заставлять опрашиваемого отвечать на вопросы без контекста. Но если вы уверены, что опрашиваемые погружены в контекст, этот пункт можно сократить до обозначения проблематики (общей темы вопросов).
b. Задавать можно как открытые, так и закрытые вопросы.
c. Но лично я рекомендую предоставлять опрашиваемым варианты ответа даже в формате открытого вопроса. То есть обозначаем проблематику, предлагаем варианты решения, а также оставляем за опрашиваемым возможность раскрыть свою позицию. По сути аналог варианта «Другое» в опроснике.
Проведение
- Рассылаем анкету опрашиваемым.
- Контролируем сроки опроса (должен быть внутренний дедлайн).
- Ответы, по мере поступления, консолидируем в одном документе (каналы связи с опрашиваемыми могут быть разными, но место хранения требований всегда должно быть одно).
Обработка результатов
- Анализируем ответы.
- Фиксируем требования.
- Утверждаем требования с ответственными лицами.
Плюсы и минусы метода
Плюсы:
- Большой охват опрашиваемых.
- Сравнительно небольшие временные затраты.
- Возможность повторного использования анкеты (бриф на стандартизированный проект).
Минусы:
- Не подходит для выявления «неявных» требований.
- Невозможно заранее учесть все необходимые вопросы.
Выявление требований. Мозговой штурм
Мозговой штурм предполагает сбор команды разработки и представителей заказчика на совместную встречу. Этот метод позволяет собрать множество идей от различных заинтересованных лиц (стейкхолдеров) в кратчайшие сроки и практически бесплатно. Во время мозгового штурма участники «накидывают» любые идеи, касающиеся решения проблемы. С помощью этой методики можно проработать несколько различных вариантов решения заданной проблемы, а также разрешить конфликты требований.
Подготовка
1. Формулируем проблематику:
а. Необходима краткая и емкая формулировка, которая оставит поле для размышления экспертов.
b. Проблематика озвучивается экспертам заранее, чтобы у них было время «на подумать».
2. Подготавливаем дополнительные материалы для отработки идей — например, макеты системы.
3. Формируем группу экспертов.
4. Согласовываем дату и время.
Проведение
1. Ведем запись-протокол. Уведомляем участников о том, что ведется запись.
2. Озвучиваем регламент встречи:
a. Тема,
b. Тайминги,
c. Правила.
3. Эксперты озвучивают идеи по очереди.
4. Эксперты должны озвучивать любые идеи, касающиеся проблематики.
5. Каждая идея фиксируется и обсуждается.
6. В некоторых источниках утверждается, что нужен полный запрет на критику. На мой взгляд, это приводит только к сбору сырых идей, без их отработки. «В споре рождается истина».
7. Коллективное комбинирование собранных идей.
Обработка результатов
- Анализируем идеи.
- Формализуем и описываем (то есть готовим развернутое описание).
- Утверждаем идеи с ответственными.
Плюсы и минусы метода
Плюсы:
- Большая вероятность выявить WOW-требования (придумать крутую фичу).
- При наличии на мозговом штурме специалистов, ответственных за разные аспекты системы, увеличивается глубина проработки отдельных требований. То есть низка вероятность придумать нереализуемую фичу.
Минусы:
- Ограниченный круг стейкхолдеров, которых можно привлечь.
- Необходима жесткая модерация. При отсутствии контроля за проведением встречи мозговой штурм быстро превращается в неэффективный балаган.
- Необходима высокая вовлеченность участников в проект (грубо говоря — необходима инициатива со стороны экспертов).
Другие методы выявления требований
- Анализ документации — изучение и анализ существующей документации, которая напрямую или косвенно касается разрабатываемой системы.
- Анализ системных интерфейсов, API и базы данных — анализ систем, которые будут взаимодействовать с разрабатываемой системой.
- Анализ пользовательского интерфейса — анализ интерфейсов, функционально похожих (или идентичных) на разрабатываемую систему (отраслевые стандарты UI/UX). Также к этому относится анализ интерфейсов систем, входящих в IT-экосистему заказчика.
- Моделирование процессов, поведения системы и пользователей — моделирование процессов и схем данных помогает структурировать и упорядочивать информацию о проекте.
- Повторное использование требований — многие элементы систем имеют стандарты исполнения. Например: регистрация — авторизация пользователей.
- Вовлечение представителя заказчика в команду разработки — вовлечение заказчика в работу над проектом является одним из постулатов Agile. В целом наличие представителя заказчика в команде разработки экономит уйму времени на коммуникации.
- Презентации, демо и т.п. — представление требований/реализации системы заказчику. Данный способ помогает уточнить требования, а также выявить скрытые и/или избыточные требования. Пример: демонстрация мокапов будущей системы пользователям.
- Работа в «Поле» (наблюдение) — наблюдение за деятельностью и процессами будущих пользователей.
- Обучение — процесс, в котором заказчик или любой другой человек из организации заказчика, знающий процесс, обучает аналитика по принципу «учитель — ученик».
Очевидный факт:
Только комбинируя методы, возможно добиться сбора требований, максимально отвечающих ожиданиям заказчика.
Материалы для самостоятельного изучения
Блоки знаний:
- Бизнес-анализ — раздел знаний, отвечающий за описание и формализацию бизнес-процессов. Прежде чем интерпретировать бизнес-процессы в виде ПО, необходимо их «правильно» описать и формализовать.
- Моделирование бизнес-процессов — изучение различных нотаций описания бизнес-процессов. Неразрывно связан с бизнес-анализом.
- Системный-анализ — раздел знаний, отвечающий за анализ процессов непосредственно в самом ПО.
- Моделирование систем — изучение нотаций описания систем ПО. Неразрывно связан с системным анализом.
- Документирование требований — изучение различных сред документирования информации о проекте и системе.
- Управление требованиями (согласование, управление изменениями, трассировка требований) — отдельный процесс в системе знаний об анализе в ИТ. Является одним из самых сложных процессов на долгосрочных проектах с большим количеством итераций.
- Прототипирование — изучение различных инструментов для моделирования интерфейсов и архитектуры ПО. Например: Figma для верстки макетов интерфейсов.
Книги:
- Вигерс, Карл: Разработка требований к программному обеспечению. 3-е издание, дополненное / Карл Вигерс, Джой Битти. — Санкт-Петербург : БХВ-Петербург, 2019. — 736 с.
- Ильяхов М., Сарычева Л. Пиши, сокращай. Как создавать сильный текст — 2017.
- Гэртнер, Маркус: ATDD — разработка программного обеспечения через приемочные тесты. — ДМК-Пресс, 2013. — ISBN 978-5-457-42706-8.
- Gojko Adzic, David Evans — Fifty Quick Ideas to Improve Your User Stories — 2014.
- Майкл Мескон, Майкл Альберт, Франклин Хедоури — Основы менеджмента
- Хоп, Грегор Шаблоны интеграции корпоративных приложений (Signature Series) / Грегор Хоп, Бобби Вульф. — Москва : Вильямс, 2019. — 672 с.
- Кон, Майк Пользовательские истории. Гибкая разработка программного обеспечения / Майк Кон. — Москва : Вильямс, 2018. — 256 с.
- Паттон, Джефф Пользовательские истории. Искусство гибкой разработки ПО / Джефф Паттон — Санкт-Петербург : Питер, 2019. — 288 с.
- Cockburn, Alistair Writing Effective Use Cases / Alistair Cockburn. — Addison-Wesley, 2001.
- USE-CASE 2.0
- Фаулер, Мартин UML. Основы. Краткое руководство по стандартному языку объектного моделирования / Мартин Фаулер. — Москва : Символ-Плюс, 2018. — 192 с.
- Гойко, Аджич Impact Mapping. Как повысить эффективность программных продуктов и проектов по их разработке / Аджич Гойко. — Москва : Альпина Паблишер, 2017. — 86 с.
- Коберн, Алистер Быстрая разработка программного обеспечения/ Алистер Коберн. — Москва: Лори, 2002. — 336 с.
- Корнипаев, Илья Требования для программного обеспечения: рекомендации по сбору и документированию / Илья Корнипаев. — Книга по требованию, 2013. — 118 с. Книга
- Ми, Роберт Шаблоны корпоративных приложений / Роберт Ми, Мартин Фаулер. — Москва : Вильямс, 2018. — 544 с.
- Мартин, Роберт Чистая архитектура. Искусство разработки программного обеспечения / Роберт Мартин. — Санкт-Петербург : Питер, 2018. — 352 с.
- BABOK 3.0
- SWEBOK 3.0
From Wikipedia, the free encyclopedia
Business requirements, also known as stakeholder requirements specifications (StRS), describe the characteristics of a proposed system from the viewpoint of the system’s end user like a CONOPS. Products, systems, software, and processes are ways of how to deliver, satisfy, or meet business requirements. Consequently, business requirements are often discussed in the context of developing or procuring software or other systems.
Confusion arises for three main reasons.
- A common practice is to refer to objectives, or expected benefits, as ‘business requirements.’ [1]
- People commonly use the term ‘requirements’ to describe the features of the product, system, software expected to be created.
- A widely held model claims that these two types of requirements differ only in their level of detail or abstraction — wherein ‘business requirements’ are high-level, frequently vague, and decompose into the detailed product, system, or software requirements.
Such confusion can be avoided by recognizing that business requirements are not objectives, but rather meet objectives (i.e., provide value) when satisfied. Business requirements whats do not decompose into product/system/software requirement hows. Rather, products and their requirements represent a response to business requirements — presumably, how to satisfy what. Business requirements exist within the business environment and must be discovered, whereas product requirements are human-defined (specified). Business requirements are not limited to high-level existence, but need to be driven down to detail. Regardless of their level of detail, however, business requirements are always business deliverable whats that provide value when satisfied; driving them down to detail never turns business requirements into product requirements.[2]
In system or software development projects, business requirements usually require authority from stakeholders. This typically leads to the creation or updating of a product, system, or software. The product/system/software requirements usually consist of both functional requirements and non-functional requirements. Although typically defined in conjunction with the product/system/software functionality (features and usage), non-functional requirements often actually reflect a form of business requirements which are sometimes considered constraints. These could include necessary performance, security, or safety aspects that apply at a business level.
Business requirements are often listed in a Business Requirements Document or BRD. The emphasis in a BRD is on process or activity of accurately accessing planning and development of the requirements, rather than on how to achieve it; this is usually delegated to a Systems Requirements Specification or Document (SRS or SRD), or other variation such as a Functional Specification Document. Confusion can arise between a BRD and a SRD when the distinction between business requirements and system requirements is disregarded. Consequently, many BRDs actually describe requirements of a product, system, or software.
Overview[edit]
Business requirements in the context of software engineering or the software development life cycle, is the concept of eliciting and documenting business requirements of business users such as customers, employees, and vendors early in the development cycle of a system to guide the design of the future system. Business requirements are often captured by business analysts, who analyze business activities and processes, and often study «as-is» process to define a target «to-be» process.
Business requirements often include
- Business context, scope, and background, including reasons for change
- Key business stakeholders that have requirements
- Success factors for a future/target state
- Constraints imposed by the business or other systems
- Business process models and analysis, often using flowchart notations to depict either ‘as-is’ and ‘to-be’ business processes
- Conceptual data models and data dictionary references
- Glossaries of business terms and local jargon
- Data flow diagrams to illustrate how data flows through the information systems (different from flowcharts depicting algorithmic flow of business activities)
Business requirements topics[edit]
Benefits[edit]
| Description | |
|---|---|
| Reduce Project failure | Structured explanation of a business process or method defined early in the life cycle helps reduce project failures that occur due to misaligned or misrepresented requirements leading to failure of user expectations. |
| Connects to broader business goals | Well-defined business requirements help lay out a project charter, a critical step in executing business strategy or business goals, and to take it to the next logical step of developing it into an IT system. This helps monitoring overall project health and provides for positive traction with key project stakeholders including sponsors. |
| Consensus creation and collaboration | The benefit of a structured format typical of business requirements documentation helps create positive consensus and better collaboration where the business stakeholder group might be a large cross-functional team, distributed geographically. |
| Saves costs | Good quality of business requirements when captured early on not only improves success of a project but also save overall costs associated with change requests, and related investments in training, infrastructure, etc. |
Roles[edit]
Business requirements are typically defined by business analysts in collaboration with other project stakeholders.
Both parties may be responsible for determining the business requirements and developing technical solutions. Business analysts tend to be involved in developing the implementation approach, and managing the impact on all business areas, including stakeholder engagement and risk management.
Format[edit]
-
Traditional BRD Structure — [3] - Title
- Version
- Description of Change
- Author
- Date
- Contents
- Introduction
- Purpose
- Scope
- Background
- References
- Assumptions and constraints
- Document overview
- Methodology
- Functional requirements
- Context
- User requirements
- Data flow diagrams
- Logical data model / data dictionary
- Other requirements
- Interface requirements
- Data conversion requirements
- Hardware/Software Requirements
- Operational requirements
- Introduction
- Appendix A —
The most popular format for recording business requirements is the business requirements document (BRD). The intent behind the BRD is to define what results would be wanted from a system, however it might eventually be designed. Hence, BRD documents are complemented with a systems reference document (SRD) OR Technical Design Document (TDD) that details the design, technology performance and infrastructure expectations, including any technology requirements (non-functional) pertaining to quality of service, such as performance, maintainability, adaptability, reliability, availability, security, and scalability.
Completeness[edit]
Prototyping with early stage testing can assess the completeness and accuracy of captured business requirements. Stakeholders come in early to help define the requirements, and the result is sent to the project development teams who build the business system; other stakeholders test and evaluate the final deployed system. Clarity requires keeping track of the requirements and their solution, with a formal process for determining the appropriate template use. Business requirements scope is not necessarily limited to the stage of defining what needs to be built as a business system. It goes beyond, to envisage how a running business system is managed and maintained, and to ensure its maintained alignment with business goals or strategy. A business requirements document needs to be constantly revised in a controlled fashion. Having a standardized format, or templates that are designed for specific business functions and domains, can ensure completeness of business requirements, besides keeping the scope in focus.
Although commonly considered a means of evaluating requirements, prototyping actually usually shifts attention from business requirements to the product, system, or software being built. Prototypes are working software, which means they are three steps (product/system/software requirements, engineering/technical design of said product/system/software, and implementation of the design in program code) removed from business requirements. Prototypes are preliminary versions of the software the developer intends to implement. Because prototypes are fairly concrete, stakeholders who try out the prototype can give more meaningful feedback regarding some aspects of what the developer is creating, which is the developer’s interpretation of a way to satisfy business requirements, not the business requirements. Moreover, in order to create a prototype early and quickly, the Graphical User Interface (GUI) is emphasized and the «guts» are shortcut. The guts are the bulk of the program logic, and are where most business requirements would be addressed. In other words, issues that prototypes reveal are very unlikely to involve business requirements.
It is important to recognize the changes to requirements, document them, and keep the definition of requirements up-to-date. However, business requirements tend not to change nearly so much as the awareness of them. A business requirement may be present, but not recognized or understood by the stakeholders, analysts, and project team. Change is more apparent in regard to what is usually referred to as «requirements changes» — the product/system/software requirements. These tend to reflect the presumed ways of satisfying inadequately identified business requirements. Much of the difficulties attributed to achieving business requirements in fact reflect the common practice of devoting almost all «requirements» effort to what is actually high-level design of a product, system, or software. This stems from failing to first adequately define the business requirements the product/system/software must satisfy in order to provide value. Development practices commonly keep revising the product/system/software until they eventually «back into» a solution that seems to do what is needed, i.e., apparently addresses a business requirement. Such costly trial-and-error indirect ways of identifying business requirements are the basis for much of «iterative development,» including popular Agile development methods, that are touted as «best practices.»
Templates help prompt inquiry regarding particular topics that often may be relevant to business requirements. They can foster standardized documentation regarding business requirements, which can facilitate understanding. Templates do not ensure accuracy or completeness of business requirements. In fact, commonly misused, templates often negatively impact requirement research, since they tend to promote superficiality and mainly mechanical definition without meaningful analysis.
Difficulties[edit]
Business requirements are often prematurely hardened due to the large stakeholder base involved in defining the requirements, where there is a potential for conflict in interests. The process of managing and building consensus can be delicate and even political by nature. A lesser challenge, though common, is that of distributed teams with stakeholders in multiple geographical locations. It is natural that sales staff is closer to their customers, while production staff is closer to manufacturing units; finance and HR, including senior management are closer to the registered headquarters. A system for example that involves sales and production users may see conflict of purpose – one side may be interested in offering maximum features, while the other may focus on lowest cost of production. These sorts of situations often end in a consensus with maximum features for a reasonable, profitable cost of production and distribution.
To address these challenges, early stage stakeholder buy-in is achieved through demonstration of prototypes and joint working. Stakeholder workshops are common, either as facilitated sessions or simple huddled discussions, to aid in achieving consensus, especially for sensitive business requirements and where there is potential conflict of interest. Complexity of a business process is a factor. This may entail specialized knowledge required to comprehend legal or regulatory requirements, internal company-wide guidelines such as branding or corporate commitments to social responsibility. Business requirements analysis is not just about capturing the «what» of a business process along with «how» to provide its context. Translation into designing and building a working system may need to be addressed. At this stage, business requirements have to acknowledge technical details and feasibility.
A custom-built solution in not always required for every new set of business requirements. There are often standardized processes and products, which with some tweaking or customization, can serve to address the business requirements. The target business system is frequently constrained by a specific technology choice, budget, or available products already deployed.
Finally, standardization of format may cause difficulties. Multiple projects with multiple formats that lead to variation in structure and content of a requirements document renders these ineffective from a traceability and manageability perspective. In fact, when creating a template for use in a cross-functional requirement gathering exercise, different roles with complementary knowledge may find it difficult to work within a common format. It is therefore crucial to allow non-specialist or non-expert stakeholders to provide additional requirements by Appendices and additional attachments to cover their area of specification. Addressing various nuances, and arriving at a best fit, remains the single biggest challenge to effective requirements.
Identifying business needs[edit]
Includes the following steps:
- Business definition
- Understand business domain(s)
- Organization goals
- Core competence
See also[edit]
- Systems Development Life Cycle
- Systems engineering
- Software development process
- Business analyst
- Software Requirements Specification
- Requirements analysis
- Requirement
- Prototyping
- Software prototyping
- Business analysis
Bibliography[edit]
- Beal, Adriana. Requirement is what we have to do to achieve an objective www.bealprojects.com, 2012
- Goldsmith, Robin F. Discovering Real Business Requirements for Software Project Success. Artech House, 2004.
- Robertson, Suzanne and James C. Robertson. Mastering the Requirements Process. 2nd Edition, Addison-Wesley, 2006.
References[edit]
- ^ Beal, 2012. page 1
- ^ Goldsmith, 2004. pages 2-6
- ^ «BRD template to document functional customer requirements».





























