Конфигурационное управление

Материал из devopswiki
Перейти к: навигация, поиск

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

В целом, конфигурационное управление отвечает на вопрос: «Кто-то уже сделал нечто, как нам это воспроизвести?»

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

В связи с высокой динамичностью сферы разработки ПО, в ней конфигурационное управление особенно полезно. К процедурам можно отнести создание резервных копий, контроль исходного кода, требований проекта, документации и т. д. Степень формальности выполнения данных процедур зависит от размеров проекта, и при правильной её оценке данная концепция может быть очень полезна.

Цели и задачи

Цели конфигурационного управления:

  • Контроль: SCM позволяет отслеживать изменения в контролируемых объектах, обеспечивает соблюдение процесса разработки.
  • Управление: SCM диктует процесс автоматической идентификации в ходе всего жизненного цикла ПО, обеспечивает простоту модификации и сопровождения ПО.
  • Экономия средств: снижается риск потерь от ротации кадров в организации, предоставить возможность сменить организацию-разработчика без перепроектирования.
  • Качество.

Задачи конфигурационного управления:

  • Идентификация конфигурации.
  • Контроль конфигурации: контроль над изменениями материалов.
  • Учёт текущего состояния: состояние документов, состояние кода, состояние отдельных задач и всего проекта в целом.
  • Управление процессом разработки.
  • Управление сборкой.
  • Управление окружением.
  • Отслеживание задач и проблем (в частности, отслеживание ошибок).

Процедуры управления конфигурацией

Ревизия конфигурации — процесс проверки того, что документ нижнего уровня соответствует всем требованиям документа верхнего уровня.

Аудит конфигурации — процесс проверки того, что готовый продукт или его часть соответствуют документации.

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

Учет состояния конфигурации — процесс подготовки отчетов о текущем состоянии продукта и состоянии утвержденных изменений.

Ссылки

Конфигурационное управление в Википедии

Программная инженерия. Конфигурационное управление

Конфигурационное управление проектами разработки программного обеспечения

Управление конфигурациями или кессонная болезнь проектов