|
Раздел плана |
Раздел плана |
Требования к содержанию |
Дополнительные комментарии |
|
1. Введение |
Introduction |
Введение в план УК представляет собой обзор содержания документа. Включает цели, область действия, определения, акронимы, сокращения, ссылки и обзор плана конфигурационного управления |
Введение позволяет сделать документ более читаемым - объяснить основные моменты и расставить правильные акценты. |
|
1.1 Назначение
|
Purpose |
Содержит назначение документа «План конфигурационного управления» |
Как правило, в назначение можно включить описание целей, которые решает данный план. Ведь план, в зависимости от размеров проекта, от географической распределенности также может различаться. |
|
1.2 Область применения |
Scope |
Краткое описание области применения плана; с какой моделью он связан, другие особенности, влияющие на документ.
|
Зачастую, можно описать подразделения, участвующие в процессе УК. Описать условия применения. При определении области полезно ответить для себя на ряд вопросов:
- Какова характеристика подконтрольных конфигурационных элементов?
- Чем должны управлять интерфейсы высокого уровня?
- Каковы временные рамки проекта?
- Каковы доступные ресурсы?
- Каковы подконтрольные сущности?
|
|
1.3 Определения, акронимы и сокращения |
Definitions, Acronyms, and Abbreviations |
Представляет собой определения всех терминов, акронимов и сокращений, требующихся для точной интерпретации документа «План конфигурационного управления». Для предоставления этой информации можно воспользоваться ссылками на словарь проекта |
Нам часто приходится сталкиваться с тем, что данный раздел либо игнорируют совсем, либо не придают ему особого значения. Те не менее глоссарий - это составная и неотъемлемая часть ЛЮБОГО документа, плана УК в том числе.
Здесь необходимо отразить и объяснить все термины УК и разрабатываемого продукта. Необходимо помнить, что хороший глоссарий позволит всем находиться в одном терминологическом пространстве.
Вопросы:
- Определения легки и понятны всем участникам проекта?
- Есть ли список, на который можно легко сослаться?
- Необходимо ли определять данный термин?
|
|
1.4 Ссылки |
References |
Этот подраздел представляет полный список всех документов, на которые имеется ссылка где-либо в «Плане конфигурационного управления». Идентифицируется каждый документ по названию, номеру отчета (если есть), дате и организации, его опубликовавшей. Указывается источник, из которого могут быть получены указанные документы. Для предоставления этой информации можно воспользоваться ссылками на приложения или другие документы. |
План УК редко разрабатывается сам по себе. Он является частью нормативно-методического обеспечения проекта. Нет смысла в плане повторять дословно разделы из других документов. Проще сформировать ссылку на документ, а в данном разделе указать все используемые источники (в том числе, документы RUP, стандарты, международные и отраслевые стандарты).
Вопросы:
- Используются ли в плане положения, методики политики, уже используемые в организации?
- Действительно ли ссылка необходима в плане?
|
|
1.5 Обзор
|
Overview |
Обзор документа по разделам |
Необходимо понимать, что не все участники проекта будут читать документ «от корки до корки». Обзор необходим для того, чтобы впоследствии можно было читать те разделы, которые нужны в данный момент данной роли. |
|
2. Конфигурационное управление программным продуктом |
Software Configuration Management |
|
Один из основных разделов. Описывает все технические и технологические аспекты применения УК в проекте или организации.
Количество подразделов и их вложенность могут отличаться от приведенных ниже |
|
2.1 Организация, распределение ответственностей и взаимодействия |
Organization, Responsibilities, and Interfaces |
Указывается, кто будет ответственным за выполнение различных задач конфигурационного управления, описанных в ходе процессов конфигурационного управления |
Данный пункт оговаривает не только список ответственных за выполняемые действия, но может описывать состав и взаимодействие между проектными группами. Данный аспект особенно важен, если речь идет о распределенной разработке в нескольких географических точках.
Эффективное дополнение данного раздела - подраздел, описывающий политику доступа. Это может быть простая таблица, в которой описывается в терминах применяемых средств автоматизации процесса что можно выполнять отдельному участнику проекту. А что для него запрещено.
Обычно для этого выбирают способ описания либо только доступных операций либо только запрещенных.
В дальнейшем данная политика перекладывается в средства реализации, где выставляются соответствующие разрешения и запрещения.
В зависимости от выбранной проектной структуры (матричной или иерархической) адаптируется политика.
Вопросы:
- Каковы возможности организации по штату для выполнения операций УК?
- Какова структура управления?
- Каков стиль управления?
- Кто будет ответственен за выполнение операций?
- Какие организационные изменения могут быть в течении жизни плана УК?
- Каковы планы по поддержке текущей организационной структуры?
- Какой уровень поддержки необходим для осуществления плана УК?
- Это единственный проект для руководства, или руководство управляет несколькими проектами одновременно?
- Как распределяется ответственность при возникновении нештатных ситуаций?
- Имеются ли особенности для этого проекта, которые могут повлиять на бизнес?
- Какие действия выполняет группа CCB в проектном управлении при планировании?
- Прозрачно ли описаны роли участников?
|
|
2.2 Инструментарий, рабочая среда и инфраструктура |
Tools, Environment, and Infrastructure |
Рассматривается рабочая среда и программное обеспечение, которое будет использовано при выполнении функций конфигурационного управления в ходе жизненного цикла проекта или программного продукта. Описываются инструменты и процедуры, которые нужно использовать для версионного контроля объектов конфигурационного управления, создаваемых в ходе жизненного цикла проекта или программного продукта.
Вопросы, рассматриваемые при настройке рабочей среды конфигурационного управления:
ожидаемый размер данных по программному продукту;
распределение рабочей команды;
расположение серверов и рабочих станций. |
Детальное описание данного пункта позволит, во-первых, понять самим какие средства разработки используются в компании (зачастую до начала внедрения в большой компании никто кроме начальника отдела разработки не представляет полного списка средств). Полный учет средств необходим еще и для того, чтобы определить методы интеграции средств разработки со средствами УК, ведь известно, что любое средство УК имеет ограниченные возможности по интеграции со средствами разработки. Задача менеджера УК и администратора в этом случае заключается в том, чтобы выбрать сторонние разработки, которые делают интеграцию либо более полной, либо просто добавляют саму интеграцию в используемое средство разработки + в средство УК.
Не менее важно описать среду исполнения. Не все средства УК одинаково ставятся на всех платформах. Здесь могут быть особенности.
Как вариант: сервер Linux, клиенты Windows.
Не все средства УК умеют работать в подобной среде, что надо учитывать при выборе средства.
Вопросы:
- Каковы организационные интерфейсы?
- Как взаимодействую процессы?
- Каков перечень процессов для взаимодействия?
- Каковы интерфейсы между применяемыми средствами автоматизации?
- Каковы зависимости между ними?
- Есть ли аппаратные зависимости?
- Где определены документы, регламентирующие процесс?
- Они утверждены?
- Каковы процедуры внесения изменений в эти документы?
- Каковы задействованные ресурсы (человечески, оборудование)?
|
|
3. Программа конфигурационного управления |
The Configuration Management Program |
|
|
|
3.1 Конфигурационная идентификация |
Configuration Identification |
|
Вопросы:
- Доступны ли стандартные методы идентификации?
- В чем состоит используемая схема идентификации объектов УК?
- Связаны ли программные и аппаратные идентификации (для встроенных систем)?
- Какие спецификации и планы управления должны быть идентифицированы?
- Необходима ли специальная схема идентификации чтобы отслеживать ПС третьей стороны?
- Есть ли разница в идентификации элементов в зависимости от типа приложений?
- Есть ли подтипы (например, компилятор С++ может работать с файлами c, cpp, h, hpp и др)?
- Идентифицируются ли и хранятся скрипты автоматизированного тестирования?
|
|
3.1.1 Методы идентификации |
Identification Methods |
Описывается, как именуются, маркируются и нумеруются артефакты проекта или программного продукта. Схема идентификации должна покрывать оборудование, системное программное обеспечение, продукты внешних разработчиков и все артефакты разрабатываемого приложения, указанные в структуре директорий программного продукта; например, модели, планы, компоненты, тестовое ПО, результаты и данные, исполняемые файлы и т.д |
Очень важный пункт, в котором нужно описать все правила именования объектов УК. Также здесь должно быть детально расписана структура каталогов проекта. Обычно к моменту внедрения УК структура каталогов проекта складывается исторически, зачастую - спонтанно. Цель описания - выработать новую более эффективную структуру. Практика показывает, что человек на этапе восстановления структуры может увидеть уязвимые или неэффективные места. |
|
3.1.2 Базовые версии проекта |
Project Baselines |
Базовые версии предоставляют официальный стандарт, на котором основывается последующая работа и для которого проводятся только авторизованные изменения. Описывается, в какой точке жизненного цикла проекта или продукта должны создаваться базовые версии. Наиболее общие базовые версии должны быть в конце каждой из фаз обследования, проработки проекта, построения системы и передачи в эксплуатацию. Базовые версии также могут создаваться в конце итераций внутри различных фаз или даже чаще. Определяется, кто может создавать базовые версии и что входит в их состав (обычно это интегратор, но может быть и по-другому) |
Здесь описывается то, каким образом будет происходить сама работа в средстве УК. Как будут ставиться метки, как выпускаться релизы. Сколько ветвей для реализации проекта будет использовано, и по какому принципу ветви будут именоваться.
Обратите особое внимание на данный пункт - без него невозможна эффективная работа.
При проработке пункта учитывается региональная раздробленность команды (влияет состав команд, количество регионов), интенсивность внесения изменений, количество выпускаемых релизов за единицу времени. Соответственно, в зависимости от данных показателей выбирается наиболее эффективный способ управления конфигурациями, что и отражается в данном разделе.
Вопросы:
- Какой способ выбора базовых версий используется?
- Для всех ли элементов базовые версии строятся по одинаковы правилам?
- Кто разрешает создание базовых версий?
- Кто физически создает базовую версию?
- Как и по какому шаблону создаются базовые версии?
- Как осуществляется продвижение базовых версий?
- Как и кем осуществляется проверка базовых версий?
- Какова периодичность проверок?
- Используется ли существующий (устоявшийся) стандарт именования меток и ответвлений?
- Есть ли иерархия между объектами? Какая?
|
|
3.2 Контроль конфигураций и изменений |
Configuration and Change Control |
|
Как известно процесс УК состоит из двух частей - управление изменениями и управления версиями.
Управление изменениями - неотъемлемая и важная часть процесса. Управлять необходимо любыми изменениями: от заявок пользователей до исправляемых дефектов.
Данный раздел содержит полно описание всех запросов на изменения, включая атрибуты и жизненный цикл. Подробное описание - залог успешно построенного процесса УК.
Очень часто для отслеживания существенных событий в проекте, применяют уведомления различного вида. Как правило, это уведомления по электронной почте (например при исправлении ошибки тестер получает уведомление и может приступить к тестированию). Укажите все типы уведомлений, которые применяются в проекте.
Вопросы:
- Какие типы запросов планируется использовать в процессе УК?
- Каков полный цикл запросов на изменения?
- Будет ли храниться в системе УК справочная информация, или необходимо подключаться к имеющейся справочной информации?
- В какой информации, возможно, будут нуждаться члены CCB?
- Каковы основные ожидания от автоматизации управления изменениями?
- При иерархической проектной структуре как будут приниматься решения по запросу?
- Необходимо ли управлять всеми запросами на изменения?
- Каков уровень детальности управления будет выбран (сколько шагов/этапов)?
- Обеспечивается ли отслеживание изменений в исходных текстах (есть ли связь между изменениями на верхнем уровнем и описание изменений на уровне файлов)?
- Как исходный текст ассоциируется с запросом?
- Будет ли применена система оповещений?
|
|
3.2.1 Отработка и утверждение запросов на изменение
|
Change Request Processing and Approval |
Рассматриваются процессы, которые обеспечивают внесение, рассмотрение и упорядочение проблем и изменений. |
Определяются типы запросов. Как правило это: Дефект, Запрос на расширение, Задача и Заявка. Состав типов может существенно меняться, главное не сводить все управление изменениями к одному типу запросов (очень часто кроме как Дефектами компании ничем не управляют) |
|
3.2.2 Группа управления изменениями |
Change Control Board (CCB) |
Описывается, кто входит в состав группы управления изменениями и процедуры, которым она следует, для отработки и утверждения запросов на изменение. В некоторых случаях указывается регламент сбора группы. |
Решение о принятии запроса от пользователя, решение о реализации новой технической идеи практически никогда не решаются одним человеком. В любой компании это группа людей. В терминах стандартов данная группа называется CCB.
В данном разделе необходимо описать состав участников (как правило, это аналитик или постановщик, лидер группы разработчиков, лидер группы тестировщик и представитель отдела маркетинга) и периодичность заседаний. Например группа CCB может собираться каждую неделю (по регламенту) либо по возникшей потребности (не рекомендуется).
Вопросы:
- Каковы пределы полномочий группы?
- Одна группа на все проекты или несколько групп - каждая на свой проект?
- Если несколько, то, каким образом они сотрудничают друг с другом?
- Есть ли иерархия CCB?
- Кто отвечает за коммуникации между CCB?
- Будет ли поддерживать система УК специальные запросы для организации встреч и выпуска протоколов по результатам?
- Есть ли потребность в выработки регламента для ограничения действий группы (жесткий регламент встреч с высокой степенью формализма)?
- Как различаются уровни привилегий в группе?
- Меняет ли введение группы CCB установленный порядок принятия решений в организации?
- Введены ли в состав CCB все ключевые участники, включая менеджера УК, менеджера проекта, лидера тестировщиков, лидера разработчиков и архитекторов?
- Каковы процедуры устранения разногласий (выпуск протокола разногласий или нечто иное)?
- Автоматизирована ли данная процедура?
|
|
3.3 Учет состояния конфигурации |
Configuration Status Accounting |
|
|
|
3.3.1 Хранение материалов проекта и выпуск релизов
|
Project Media Storage and Release Process |
Описываются правила хранения и регламенты резервирования, действия на случай непредвиденных обстоятельств.
Описание процесса выпуска релизов включает их содержание, для кого они предназначены и имеются ли какие-либо известные проблемы и инструкции по инсталляции (можно вынести в отдельное приложение) |
|
|
3.3.2 Отчеты и проверки |
Reports and Audits |
Рассматривается содержание, формат и цель запрашиваемых отчетов и проверок состояния конфигурации.
Отчеты используются для получения данных о «качестве программного продукта» в любой заданный момент времени жизненного цикла программного продукта или проекта. Отчетность по дефектам, основанная на запросах на изменения, может обеспечить некоторые удобные индикаторы качества и, следовательно, предостеречь менеджеров и разработчиков об определенных критических областях процесса разработки. |
Отчетам следует уделить особое внимание. Только по отчетам можно проследить ход выполнения работ.
Здесь необходимо определить отчеты по ролям участников проекта и описать их формат.
Также рекомендуется сформировать регламент сбора отчета, то есть с какой периодичностью собираются метрики (в реальном времени, раз в день… итд). Желательно выделить различные типы отчетов и периодичность сбора их метрик.
Вопросы:
- Есть ли необходимость в более чем одной ревизии для каждой базовой версии?
- Вовлечены ли субподрядчики в ревизию?
Отчеты:
Вопросы:
- Какие метрики собираются в ходе проекта?
- Какие типы отчетов необходимо иметь?
- Способы представления отчетной информации?
- Есть ли внешние отчетные документы для клиентов?
- Дифференцируются ли отчеты в зависимости от типа выполняемой участником роли в проекте?
- Доступны ли отчеты?
- Какие будут предусмотрены формальные шаги для получения отчетов?
- Какие типы нотификационных сообщений будут применяться?
- Отслеживаются ли тенденции в проекте? По каким отчетам?
- Как ведется учет (статически, динамически)?
- Какие средства используются для получения отчетов (допускается использование любого числа систем для получения достоверной Ии понятной информации о ходе проекта)?
|
|
3.3.3 Документирование |
Documents |
Раздел определяет способы и типы документов |
|
|
3.3.3.1 Описание версии |
Version Description |
Данный документ описывает диски, CD или другие носители, используемые для поставки ПО.
Также данный раздел также определяет состав документов поставляемых с версией ПО и доступных для конечных пользователей. |
Примерный состав документов:
- Архив релизов с описанием (Release Media);
- Описание релиза (Release Notes);
- Описание функций;
- Перечень решенных проблем в релизе;
- Перечень новых возможностей;
- Инструкция по установке ПО;
- Инвентаризация, опись.
Данный пункт может содержать основные правила формирования документов, отражать способ выпуска документов (ручной, автоматический). Требования к оформлению документов и шаблоны документов должны быть вынесены в приложение к плану УК. Перечень приведенных документов относится к выпуску ПС для каждой версии, релиза, патча. В зависимости от выбранной модели выпуска состав документов. А также их детальность могут различаться. |
|
3.3.3.2 Документирование процесса |
CM Documents |
Общие документы, требуются в случаях, когда продукт разрабатывается для крупных организаций, а также в тех случаях, когда продукт представляет собой программно-аппаратный комплекс. |
Типовые документы для данного раздела:
- Описание системы, в которой используется ПС;
- Описание административного управления программными средствами системы;
- Руководство системного администратора;
- Руководство пользователя;
- Паспорт на ПС (общие сведения о ПС. основные характеристики, комплектность, акты о приемке и снятии с эксплуатации… итд).
Требования к оформлению документов и шаблоны документов должны быть вынесены в приложение к плану УК. |
|
4. Этапы |
Milestones |
Детально рассматриваются этапы работ для заказчика и внутренние, относящиеся к работам по УК для программного продукта или проекта. Эта секция обычно включает детальное описание того, когда может быть модифицирован сам план конфигурационного управления |
В зависимости от выбранной модели может измениться содержание этапов. Рекомендуется описать, что выполняется в УК в зависимости от этапа проекта. |
|
5. Обучение и ресурсы |
Training and Resources |
Рассматриваются инструментальные средства, персонал и обучение, требуемые для реализации описанных в плане задач |
|
|
6. Субподрядчики и контроль программного обеспечения со стороны поставщиков |
Subcontractor and Vendor Software Control |
Описывается, как будет интегрировано программное обеспечение, разработанное вне среды УК проекта |
К работе над проектом могут привлекаться субподрядчики. Данный раздел описывает каким образом будет происходить работа с субподрядчиком.
Вопросы:
- Разработка ведется только в одно организации или в обеих?
- Каковы процедуры корректировки дефектов в разрабатываемом продукте?
- Автоматизированы ли они (полностью или частично)?
- Какие изменения допустимо вносить Заказчику в исходные тексты после получения продукта?
- Ставится ли в известность об этом субподрядчик, и в какой мере?
- Когда и как выполняются ревизии?
- Какой набор инструментальных средств используется Заказчиком и Субподрядчиком?
- Необходимы ли дополнительные модули синхронизаций (для тех случаев когда Заказчик и Подрядчик используют разные системы УК от разных производителей)?
- Как контролируется Субподрядная организация?
- Кто отвечает за работу с Субподрядчиком?
- Работает ли субподрядчик по своим процессам или Заказчик обязывает его работать по собственным?
- Как решаются конфликты?
- Разрешено ли Субподрядчику осуществлять полную сборку продукта у себя, или Заказчик выделяет стенд для сборки на своей территории?
- Допускается ли Субподрядчик к справочной информации Заказчика (доступ к реальным базам данных, справочникам)?
|
|
Приложения |
|
Состав приложений не определяется стандартами. Обычно включает в себя такие документы как:
- Регламенты;
- Инструкции по использованию средств УК (как пользовательские так и административные);
- Различные методические пособия;
- Планы обучения;
- Инструкции по установке и администрированию средств УК.
И т.д. |
Руководствуйтесь целесообразностью внесения тех или иных изменений. Оцените, все ли попало в основные разделы плана. Если основные раздел слишком «разрослись», то, возможно нужно вынести из них часть информации в приложение. |