Формализация бизнес требований пример

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

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

1. Неформальная постановка требований в переписке по электронной почте хорошо работает в небольших проектах при вовлеченности заказчика в разработку, однако электронные письма оказываются важными документами (уметь вести деловую переписку, подводить итоги, хранить важные письма и пользоваться ими при разногласии)

Мастер-класс по сбору и анализу требований

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

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

4. Формальная модель требований для верификации модельно ориентированного тестирования и т.д.

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

Перечислим ряд ошибок, встречающихся при составлении технического задания и иных документов с требованиями:

1. Описание возможных решений вместо требований

2. Нечеткие требования, которые не допускают однозначную проверку, а также имеет оттенок советов, обсуждений, рекомендаций

3. Игнорирование аудитории для которой предназначено представление требований

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

Цикл работы с требованиями

В своде знаний по программной инженерии (SWEDOK) определяются следующие виды деятельности при работе с требованиями:

Читайте также:  Частный бизнес это ооо

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

Эффективные техники для выявления требований / Экспертный стол Дениса Гобова

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

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

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

Конфигурационное управление

Файл- поименованная часть жестоко диска размеченная для хранения файла

Источник: vunivere.ru

Как мы ведём требования к ПО: формализация

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

Но я так не считаю. Формализация — большой и важный этап разработки требований. В статье об этом расскажу: как происходит ведение требований у нас, какие этапы мы проходим, каких правил придерживаемся и что будет, если отклоняться от правил. Если вы системный или бизнес-аналитик, владелец продукта или просто работаете с требованиями к программному обеспечению, то эта статья для вас.

Прежде всего зададим контекст.

Под программным обеспечением будем понимать цифровой продукт, над созданием которого работает продуктовая команда.

Типовая команда продукта состоит из:

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

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

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

И здесь возникает формализация.

Этапы формализации требований

Мы избегаем неопределенности и берём в работу задачи только с понятными требованиями, настаиваем на их формализации.

Сейчас расскажу, как это происходит. Общая схема проработки требований выглядит примерно так.

Читайте также:  Как развивать ландшафтный бизнес

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

За определение потребностей бизнеса отвечает владелец соответствующего цифрового продукта (PO). Он общается с представителями бизнеса, изучает бизнес-процессы, проводит исследование рынка и формулирует бизнес-требования к продукту. У нас они обычно выражаются в виде документа Word (BRD) и эпиков (Epics) в Jira.

BRD содержит полное описание бизнес-требований, которым должен удовлетворять цифровой продукт. На основе данного документа и с учетом принятых архитектурных паттернов архитектор (Solution Architect) разрабатывает видение (Vision) архитектуры будущего решения. Ниже — общий вид BRD как пример.

Пример оформления BRD

Epics представляют собой набор отдельных бизнес-требований. Команда продукта (Product Team) проводит их анализ и декомпозицию на пользовательские истории (User Stories). Ниже — пример Epics и User Stories. Справа — Sab-Tasks (о них чуть дальше).

Пример оформления Epics и User Stories

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

Однако на данном этапе их ещё нельзя брать в работу. Требования не до конца определены.

На основе Vision для User Stories системный аналитик (SA) разрабатывает проектные решения (Specs).

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

Пример оформления Specs

При необходимости, для User Stories готовится дополнительный артефакт — дизайн пользовательских интерфейсов (UI). Для этого команда подключает к работе над продуктом дизайнера (Designer). Часто он ведёт разработку в Figma и помимо макетов пользовательского интерфейса готовит кликабельные прототипы для дальнейшей валидации требований. Ниже пример подобного UI.

Источник: https://vc.ru/alfabank/94450-115-fz-prostymi-slovami-pochemu-banki-blokiruyut-karty-i-internet-bank-i-chto-delat-esli-eto-proizoshlo

На основе Specs и UI команда разработки (DevTeam) выполняет декомпозицию User Stories на подзадачи (Sub-Tasks) для каждого члена команды. Пример Sub-Tasks на картинке.

Пример оформления Sub-Tasks

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

Мы не торопимся, следуем принятому процессу, следим за качеством проработки требований.

Но что произойдёт, если отклониться от процесса? Об этом расскажу дальше.

Читайте также:  Как пользоваться бизнес картой россельхозбанка

Отклонение от процесса

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

Отклонения обычно проявляются в отказе от разработки технических артефактов — Vision и/или Specs.

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

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

Я — руководитель системных аналитиков. Мои ребята распределены по продуктовым командам. Однажды пришлось выслушивать недовольство PO одной из команд, связанное с двукратным увеличением оценки сроков проекта. Первичная оценка составляла три месяца. Но когда половина этого периода закончилась, пришло осознание, что необходимо полгода.

На протяжении нескольких спринтов одни и те же User Stories оставались в работе. Тот факт, что они не закрывались, говорит о том, что они не были проработаны должным образом. А DevTeam не до конца понимала требования к цифровому продукту.

Отсюда мы вывели правило — любое отклонение от процесса должно быть осознанным и обоснованным.

и других способов ?

Обеспечивает за счет выбранной формы представления или контролирует , затратив на это приемлемые усилия, следующие требования:

Варианты формализации требований

Неформальная постановка требований. Спецификация требований в виде документов.

Формализации требований в проекте могут быть разными, существовать параллельно, решать различные задачи.

Требования в виде диаграмм (UML Use-Case, IDEF0, DFD, IDEF3, ER ).
Формальная модель требований.


Неформальная постановка требований

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин