Спринт 2/14: Разработка требований → Тема 1/4: Требования: что это такое и кто с ними работает → Урок 3/4
Уровни требований
В этом уроке вы узнаете, на какие уровни делятся требования, как они связаны между собой и какие из них системный аналитик учитывает в спецификации требований к ПО.
Несколько требований уже сформуливал отдел маркетинга. Анализ конкурентов показал, что Chatty не хватает важных функций: возможности работы со словарём и карточками для запоминания слов. Маркетологи считают, что если не добавить эти функции, Chatty может в скором времени потерять клиентов. Поэтому команда разработки хочет добавить их во вторую версию веб-приложения.
Системному аналитику важно понимать, откуда возникли те или иные требования и какие задачи они решают. Чтобы ответить на эти вопросы, нужно разобраться с уровнями требований.
Уровни требований к ПО
Требования не возникают ниоткуда. Как правило, сначала сотрудники отдела маркетинга, бизнес-аналитики или другие специалисты со стороны заказчика продукта проводят исследования и выявляют проблемы, которые нужно решить, или возможности, которые нужно использовать.
Затем бизнес-аналитики определяют бизнес-требования к ПО. Эти требования помогут продукту успешно конкурировать на рынке, повысят его эффективность. На основе бизнес-требований системный аналитик выявляет пользовательские требования, из которых он потом выделяет функциональные требования.
Это и есть уровни требований к ПО:
- на верхнем уровне находятся бизнес-требования, которые определяются по итогам исследования,
- на среднем из них выделяют пользовательские требования,
- на нижнем — функциональные.
Бизнес-требования
Бизнес-требования — это описание целей, задач и желаемых для заказчика результатов разработки ПО.
- Содержат: бизнес-цели организации или заказчика. Бизнес-целью может быть желание увеличить прибыль, снизить издержки, увеличить долю рынка и прочее.
- Исходят от: тех, кто финансирует проект, заказчиков, отдела маркетинга или ответственного за концепцию продукта.
- Пример бизнес-требования: В течение года с помощью бонусной системы увеличить количество постоянных клиентов до 1000 человек.
После того как бизнес-требования сформированы, их изучает системный аналитик. Обычно системный аналитик работает с документом, который кроме бизнес-требований содержит и другие разделы, необходимые для понимания контекста задачи: состояние текущего бизнес-процесса (as is), бизнес-риски, оценку влияния внешних факторов и прочие.
Пользовательские требования
После ознакомления с бизнес-требованиями системные аналитики работают с пользователями, чтобы определить пользовательские требования.
Пользовательские требования описывают нужды пользователей и других заинтересованных сторон, которые нужно удовлетворить, чтобы выполнить бизнес-требования.
- Содержат: описание того, какие возможности система должна предоставить пользователю для удовлетворения его потребностей. Также содержат описание важных атрибутов или характеристик продукта.
- Исходят от: пользователей и других заинтересованных лиц, влияющих на проект.
- Пример пользовательского требования: возможность списания бонусных баллов со счёта пользователя при заказе товаров с сайта.
Поскольку пользовательские требования могут предоставлять разные заинтересованные лица, понятия «пользовательские требования» и «требования заинтересованных лиц» в этом контексте — синонимы. Подробнее о других «заинтересованных лицах» расскажем в следующей теме.
Функциональные требования
На основе пользовательских требований системный аналитик определяет функции ПО, которые позволят пользователям выполнять их задачи. Затем системный аналитик вносит их в спецификацию требований к ПО.
Функциональные требования описывают то, что должно делать ПО, чтобы пользователи смогли выполнить свои задачи (пользовательские требования) в рамках бизнес-требований.
- Содержат: сценарии поведения продукта в различных условиях.
- Исходят от: системных аналитиков.
- Пример функционального требования: отображаемая стоимость товара должна уменьшиться на величину списываемых бонусных баллов.
На основе функциональных требований, описанных в спецификации требований к ПО, разработчики начинают создавать продукт, а команда тестирования определяет, как проверить, корректно ли реализованы требования.
Представьте, что вы новый системный аналитик в авиакомпании. Ваш коллега взял больничный, а вам нужно срочно разобраться с требованиями. Главная задача — понять, какие требования являются верхнеуровневыми, а какие — нижнеуровневыми.
Расставьте требования по порядку — от верхнего уровня до нижнего.
В мобильном приложении должна появиться возможность пройти онлайн-регистрацию за 24 часа до вылета
Нижний
Функциональное требование — конечное требование.
Необходимо снизить количество сотрудников в аэропорту с помощью онлайн-регистрации
Верхний
Бизнес-требование — верхнеуровневое требование.
Для прохождения онлайн-регистрации пассажир должен заполнить номер рейса и фамилию
Нижний
Функциональное требование — конечное требование.
Добавить возможность регистрироваться на рейс с помощью мобильного приложения и веб-сайта, не выходя из дома
Средний
Пользовательское требование — промежуточное звено между бизнес- и функциональными требованиями.
Подведём итоги
В этом уроке мы выяснили, что у требований своя структура: требования более низкого уровня вытекают из требований более высокого уровня.
Верхний уровень: бизнес-требования, цель которых — достижение бизнес-результата.
Средний уровень: пользовательские требования, описывающие потребности, которые нужно удовлетворить.
Нижний уровень: функциональные требования, на основе которых разработчик создаёт ПО. Эти требования описываются в спецификации требований к ПО.