Введение
SCCM (Software Change and Configuration Management) – управление изменениями и конфигурациями программного обеспечения. Это совокупность процессов и инструментов, обеспечивающих систематический контроль за состоянием программных конфигурационных единиц (Configuration Items, CI) на протяжении всего жизненного цикла ПО.
Не следует путать с Microsoft SCCM (System Center Configuration Manager) – конкретным продуктом Microsoft для управления инфраструктурой. В данном контексте SCCM рассматривается как обобщённая дисциплина управления конфигурациями в соответствии со стандартами IEEE 828 и ITIL.
История и контекст
Управление конфигурациями ПО выросло из практик военно-промышленного комплекса США 1950–60-х годов, где требовался строгий учёт изменений в документации и ПО для систем вооружений. Стандарт IEEE 828 (Configuration Management in Systems and Software Engineering) кодифицировал эти практики. С появлением систем контроля версий (CVS, SVN, затем Git) SCM перешло на инструментальный уровень. В рамках ITIL управление изменениями (Change Management) и управление конфигурациями (Configuration Management) стали самостоятельными процессами с чёткими ролями и процедурами.
Как это работает
SCCM реализует четыре основных функции (4C):
- Configuration Identification – определение конфигурационных единиц (CI): модулей ПО, библиотек, документации, скриптов сборки. Каждому CI присваивается уникальный идентификатор и базовая конфигурация (baseline).
- Configuration Control – формальная процедура рассмотрения и утверждения изменений (Change Control Board, CCB) перед внесением в CI.
- Configuration Status Accounting – ведение записей о текущем состоянии CI, истории изменений, статусе заявок на изменение.
- Configuration Auditing – проверка соответствия фактического состояния CI задокументированной конфигурации (физический и функциональный аудит).
Где применяется
- Разработка корпоративного ПО и встроенных систем
- Аэрокосмическая и оборонная промышленность (строгие требования к конфигурационному управлению)
- Банковские и финансовые системы с требованиями к аудиту изменений
- Государственные ИТ-проекты с формальными требованиями по документированию
- ИТ-инфраструктура (Infrastructure as Code, управление конфигурациями серверов)
Преимущества и ограничения
Преимущества: воспроизводимость сборок и развёртываний, прослеживаемость всех изменений, быстрое восстановление известного рабочего состояния (rollback), снижение рисков при релизах, соответствие регуляторным требованиям.
Ограничения: бюрократическая нагрузка при строгом Change Control Board замедляет скорость разработки. В DevOps/Agile-командах традиционный SCCM уступает место GitOps и continuous delivery с автоматизированными гейтами.
Связь с другими понятиями
SCCM является подмножеством более широкого SCM (Software Configuration Management). Тесно интегрируется с системами контроля версий (Git, SVN), CMDB и ITSM-процессами. В DevOps SCCM реализуется через CI/CD-пайплайны с автоматическими проверками качества. SAM (Software Asset Management) использует данные SCCM для отслеживания лицензионного соответствия.