Старт проекта. Что такое Управление Конфигурациями?

Продолжаю серию статей «Старт проекта». Первая статья здесь — Старт проекта. Как это делать?

А в этой статье поговорим о дисциплине управления конфигурациями как таковой и о ее важности.

Сразу начну с кейса из реальной жизни:

  • Заказчик прислал проект на оценку в виде нескольких документов, пусть это будут спецификации: «Spec 1 v1_1» и «Spec 2 v1_2»
  • Сделали оценку работ, причем в разделе «References» указали что оценки сделаны на основе этих спецификаций
  • Заказчик согласился на оценку, подписали контракт, собрали команду, начали проект
  • В середине проекта выяснилось, что обещанные сроки выдержать не получается
  • Поначалу «подозрение» пало на некачественный оценку работ
  • Но в конечном итоге выяснилось что: А) – заказчик в начале работ «подсунул» другие спецификации (названия те же, но версии и содержание отличаются); Б) – никто не сверился, отличаются ли изначальные и новые спецификации.

А теперь еще несколько типичных проблем:

  • Устраненные дефекты появляются снова
  • Отсутствуют зафиксированные версии спецификаций, продукта
  • Заказчику отдали старую или неполную версию продукта или его частей
  • Откуда-то появился новый функционал
  • Не совпадают спецификации, продукт и тестовая документация

Отсюда возникает вопрос – как этого не допустить, и как это сделать осмысленно, и без чрезмерных усилий? Как ясно из названия, такие проблемы призвана решить дисциплина Управления Конфигурациями.

Немного истории. Дисциплина, как и многие другие здравые мысли пришла от военных. Кстати еще о военных, есть статья «История проектного инструментария, нач. ХХв.» – рекомендую. Так вот, как говорит Википедия, дисциплина формализовалась в 1950-х в американских воздушных силах для контроля над компонентами сложных систем. И сейчас применяется во многих отраслях, в том числе и космической. Если говорить о более близких к ИТ вещах, то она постепенно стала компонентом CMMI, ISO 9000, ISO 10007, ITIL, PRINCE2 и т.д.

Собственно определение —  Управление конфигурацией (Configuration Management, CM) – это управление наборами рабочих продуктов, их версиями, статусами и взаимосвязями.

Ключевые задачи могут немного отличаться в разных источниках, но если выделить основное, то это:

  • Определение элементов конфигурации
  • Учет состояний и версий
  • Отслеживание запросов на изменение
  • Верификация конфигураций

Причем, о первых трех в списке нужно по возможности договориться на старте проекта, лучше до подписания контракта. Давайте рассмотрим первую задачу – «Определение элементов конфигурации». На протяжении проекта производится множество разных артефактов (Work Products) – спецификации, отчеты, код, результаты инспекции кода, документация пользователя, тест кейсы, скрипты, протоколы совещаний и т.д. Некоторые из них являются Элементами Конфигурации (Configuration Items), а некоторые нет. Если по простому, то Элементы Конфигурации – это наиболее важные артефакты, это могут быть: результаты поставки заказчику; артефакты, от которых зависят другие артефакты и т.п. Например, спецификация – однозначно Элемент Конфигурации, т.к. на ее основании разрабатывается продукт, тестовая документация, делается приемка продукта и т.п. А вот отчет – вряд ли.

Соответственно к Элементам Конфигурации должен применяться структурированный контроль – со второй по четвертую ключевые задачи в списке.

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

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

Серия статей «Старт проекта» выходит в поддержку тренинга «Инициирование проекта и сопутствующие практики.», в котором темы статей рассматриваются подробнее и с практическими заданиями.

На данный момент он запланирован здесь:

Tags: , , , ,

Comments are closed.