Организация работы с требованиями на примере MSF

Кто создает и использует требования

Как и кем используются требования?

  • Специалист по АТ - постановка задачи, определение рамок проекта;
  • Представитель заказчика - постановка задачи, определение рамок проекта, контроль работы исполнителя, приемка результатов работы;
  • Архитектор системы - разработка архитектуры, проектирование подсистем;
  • Программист - разработка программного кода;
  • Тестировщик - составление тест-плана, тестовых сценариев;
  • Менеджер проекта - планирование и контроль исполнения работ.

В рамках курса лекций для всех упомянутых выше лиц будем использовать обобщающий термин "Совладельцы (заинтересованные стороны)" (stakeholders). Совладельцами, вслед за разработчиками RUP и MSF (см., например, [4.4,4.8]), будем называть всех участников проекта создания программной системы, прямо или косвенно заинтересованных в его успехе. Авторы большинства современных методологий разработки программных систем сходятся в том, что в группе совладельцев ключевую роль играют две группы представителей Заказчика - те, кто ставит стратегические цели и выделяет финансирование и те, кто будет непосредственно использовать разработанный продукт. Причем, в отличие от каскадных методов, где Заказчик подключался в начальной фазе - составлении технического задания и конечной - приемке готовой работы, в современных методологиях Заказчик, действительно заинтересованный в успехе проекта автоматизации, должен участвовать в нем непрерывно.

В MSF для обозначения роли участников команды софтверного проекта используется понятие ролевых кластеров [4.9].

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

Шесть ролевых кластеров модели проектной группы - это "Управление продуктом" (product management), "Управление программой" (program management), "Разработка" (development), "Тестирование" (test), "Удовлетворение потребителя" (user experience) и "Управление выпуском" (release management). Они ответственны за различные области компетенции (functional areas) и связанные с ними цели и задачи.

MSF организован на базе комбинации каскадной и спиральной моделей. Отдельная стадия работы содержит в себе 5 фаз:

  • Envisioning (выработка концепции),
  • Planning (планирование),
  • Developing (разработка),
  • Stabilizing (стабилизация),
  • Deploying (внедрение).

В фазе выработки концепции работа с требованиями наиболее интенсивна (см. табл. 4.1).

Таблица 4.1.
Ролевой кластер Фокус
Управление продуктом Общие цели проекта; выявление нужд и требований заказчика; документ общего описания и рамок проекта.
Управление программой Цели дизайна; концепция решения; структура проекта.
Разработка Прототипирование; анализ технологических возможностей; анализ осуществимости.
Удовлетворение потребителя Необходимые эксплуатационные характеристики решения и их влияние на его разработку.
Тестирование Стратегии тестирования; критерии приемлемости, их влияние на разработку решения.
Управление выпуском Требования внедрения и их влияние на разработку решения; требования сопровождения.

Как видно из таблицы, все 6 кластеров работают со своими группами требований.

Продолжается плотная работа с требованиями и на следующей фазе - фазе планирования, см. табл. 4.2.

Таблица 4.2.
Ролевой кластер Фокус
Управление продуктом Анализ бизнес-требований
Управление программой Функциональная спецификация
Удовлетворение потребителя Сценарии/примеры использования, пользовательские требования, требования локализации и общедоступности (accessibility).
Тестирование Требования тестирования.
Управление выпуском Эксплуатационные требования.

В фазах разработки и внедрения работа с требованиями сосредотачивается в кластерах управления продуктом и программой, см., соответственно, табл. 4.3,4.4.

Таблица 4.3.
Ролевой кластер Фокус
Управление продуктом Ожидания заказчика.
Управление программой Управление функциональной спецификацией.
Таблица 4.4.
Ролевой кластер Фокус
Управление продуктом Получение отзывов и оценок заказчика; акт о приеме выполненной работы.
Управление программой Сопоставление рамок проекта с поставленным решением; управление стабилизацией.