+7 (499) 638-64-11
Попробовать
Постановка и автоматизация процессов разработки ПО

Уровень зрелости требований как элемент приоритезации

31.03.2014 14:02

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

Уровни абстракции, используемые для требований в Agile проектах как правило представляют собой темы, эпики, пользовательские истории и задачи. Эти уровни абстракции используют размер и сложность в качестве критерия дифференцирования. По размеру и уровню сложности пользовательская история меньше эпика, а эпик – меньше темы. Однако, данные уровни абстракции не учитывают зрелость требования; намерение и то, насколько хорошо требование понято и одобрено всеми – заинтересованными лицами и командой. Единственный момент времени, в котором определение зрелости в явной форме рассматривается и рекомендуется в Agile сообществе - это “определение готовности” (definition of ready) для пользовательских историй.

Мы предлагаем более точное “определение готовности” в среде гибких разработок согласно данным из [8]. Эта модель зрелости для требований определяет звезду, облако, дерево и дорогу уровней зрелости следующим образом:

Звезда

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

Облако

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

Дерево

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

Дорога

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

Эти уровни зрелости подлежат обсуждению с командой и заинтересованными лицами в начале проекта. Каждая команда выделяет свои собственные согласованные уровни зрелости. Уровень зрелости “дорога” как правило, соответствует “определению готовности” пользовательских историй. Уровень “дерево” предназначен для эпиков на момент времени, когда мы можем определить наиболее важные пользовательские истории этого эпика, необходимые для разработки менее жизнеспособных вариантов реализации требования. Уровень “облако” предназначен для эпиков или тем, когда они принимаются в качестве важных, бизнес-ценность (рациональная) является очевидной, а жизнеспособность определена до степени приемлемого риска – все, что может быть приемлемо в конкретном контексте.

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

  • Заинтересованное лицо: любое физическое лицо, заинтересованное в бизнес-ценности и / или атрибутах качества предмета разработки. Прежде всего - это пользователи системы, находящейся в стадии разработки, а также заказчик и интересующиеся физические лица, такие как корпоративные архитекторы или представители отдела эксплуатации или поддержки.
  • Команда Agile: команда, владеющая всеми навыками для разработки системы и ответственная за разработку систем, согласно определению, используемому в Scrum.
  • Команда: заинтересованное лицо, плюс команда(ы) Agile, плюс необязательные дополнительные физические лица, вовлеченные в общий процесс разработки. Этими дополнительными физическими лицами могут выступать, например, менеджер программного продукта, бизнес-аналитик, профильные специалисты или другие должностные и ответственные лица, существующие в больших организациях.
  • Член команды: Член команды в соответствии с вышеизложенным определением.

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

Важно, чтобы каждой теме, эпику или пользовательской истории был назначен согласованный уровень зрелости. Чтобы быть более точным: уровень назначается требованию только в случае, когда он одобрен заинтересованными лицами (выражающими свое видение ценности в разработке и рисках) и командой Agile (выражающей должное понимание требования и гарантию обеспечения качества). Если согласие между заинтересованными лицами и командой Agile или внутри команды в целом не было достигнуто, существует потребность в дополнительной работе по разработке этого требования. Этот процесс подчиняется тем же правилам, что и процесс назначения story point-ов элементам баклога при оценках в Agile проектах. Если существуют значительные расхождения в story point-ах при оценке элемента баклога, требуется дополнительное обсуждение для уточнения понимания.

Читайте далее, Визуализация требований

--

Автор: Rainer Grau

http://re-magazine.ireb.org/issues/2014-1-learning-to-fly/innovation-arena/

 

Литература

[8] Markus Flückiger, Pete Jones; Blog about “Stars To Road”, http://starstoroad.com/blog/

Еще интересные статьи на эту тему: