> For the complete documentation index, see [llms.txt](https://amax.gitbook.io/ict-architect/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://amax.gitbook.io/ict-architect/scm-ruan-jian-pei-zhi-guan-li.md).

# SCM（软件配置管理）

对于任何一个管理流程来说，保证该流程正常运转的前提条件就是要有明确的角色、职责和权限的定义。特别是在引入了软件配置管理的工具之后，比较理想的状态就是：组织内的所有人员按照不同的角色的要求、根据系统赋予的权限来执行相应的动作。因此，在本文所介绍的这个软件配置管理过程中主要涉及下列的角色和分工：

**项目经理（Project Manager，PM）：**&#x9879;目经理是整个软件研发活动的负责人，他根据软件配置控制委员会的建议批准配置管理的各项活动并控制它们的进程。其具体职责为以下几项：制定和修改项目的组织结构和配置管理策略；批准、发布配置管理计划；决定项目起始基线和开发里程碑；接受并审阅配置控制委员会的报告。

**配置控制委员会（Configuration Control Board，CCB）：**&#x8D1F;责指导和控制配置管理的各项具体活动的进行，为项目经理的决策提供建议。其具体职责为以下几项：定制开发子系统；定制访问控制；制定常用策略；建立、更改基线的设置，审核变更申请；根据配置管理员的报告决定相应的对策。

**配置管理员（Configuration Management Officer，CMO）：**&#x6839;据配置管理计划执行各项管理任务，定期向[CCB](https://baike.baidu.com/item/CCB)提交报告，并列席CCB的例会。其具体职责为以下几项：软件配置管理工具的日常管理与维护；提交配置管理计划；各配置项的管理与维护；执行版本控制和变更控制方案；完成配置审计并提交报告；对开发人员进行相关的培训；识别软件开发过程中存在的问题并拟就解决方案。

**系统集成员（System Integration Officer，SIO）：**&#x7CFB;统集成员负责生成和管理项目的内部和外部发布版本，其具体职责为以下几项：集成修改；构建系统；完成对版本的日常维护；建立外部发布版本。

**开发人员（Developer，DEV）：**&#x5F00;发人员的职责就是根据组织内确定的软件配置管理计划和相关规定，按照软件配置管理工具的使用模型来完成开发任务。
