Управление требованиями : Хранение требований

From Gehtsoft USA
Jump to: navigation, search

Хранение требований

Документы

В результате работы аналитика(ов) на этапе сбора требований появляются 5 документов:

  • Vision;
  • Требования;
  • Use-case survey;
  • Functional specification;
  • Supplementary specification.

Документ Vision содержит:

  • Описание цели продукта;
  • Перечень stakeholder(s), их описание;
  • Перечень проблем, их описание;
  • Перечень Features, их приоритеты.

Требования содержат:

  • (отдельно по каждому stakeholder) все окончательно утвержденные формулировки исходных требований;

Use-case survey:

  • Описание актёров
  • Краткое описание use-cases;

Functional specification:

  • (каждый use-case) в своём документе;

Supplementary specification:

  • URPS требования, design constraints.

Управление изменениями

Каковы причины изменения требований?

  • Изменилось понимание проблемы;
  • Изменилась сама проблема;
  • Появилась дополнительная информация (не всех спросили, не всё спросили);
  • Stakeholder’ы и пользователи поменяли свою точку зрения (например посмотрев прототип);
  • Произошли внешние изменения;

Почему так важно управление изменениями? Изменения в требованиях влияют на уже согласованные сроки, ресурсы, время и бюджет проекта. Причем влияют не только напрямую (дополнительная работа по управлению требованиями), но и косвенно – поскольку на требованиях основываются design, code, test design и так далее. Все это требует значительного объема согласований (границы проекта и продукта) и трассировки возможных изменений. В случае, если требования поступают неформально, не факт что это будет произведено, следовательно, влияние изменения непредсказуемо. Таким образом, изменения в требования должен поступать ТОЛЬКО по официальному каналу, утвержденному тем, кто в праве подписывать изменения в границах продукта и проекта. Для рассмотрения изменений в требованиях создается Change Control Board – группа представителей заказчика и разработчика. Только эта группа имеет право вносить изменения в требования. Процесс внесения изменения:

  • Корректировка, согласование и утверждения новой редакции требования (однозначность, полнота и так далее: требования к требованиям).
  • Проверка влияния изменения в требовании на остальные процессы.
  • Согласование нового scope продукта и проекта.
  • Доведение информации об изменении в требовании до всех, кого это касается.

Как достигается проверка влияния и пути для доведения информации. Вспомним дерево зависимостей:

Rqm-deps.png

Соответственно, цепочка трассировки: проблема->исходное требование->feature->FURPS->(Design, Test, Doc). В идеале, эта трассировка должна осуществляться автоматически. Таким образом, CCB:

  • борется с неавторизованными изменениями;
  • гарантирует, что изменение будет полностью учтено со всех точек зрения;

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

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

Процедуры работы CCB должны быть задокументированы и согласованы и с заказчиком и с руководством проекта. Правомочия заказчика вносить изменения и исполнителя принимать их должны быть подтверждены официальными лицами (имеющими право принимать решения).