产品配置管理流程
目 录
文档修订记录
| 日期 | 修改章节 | 修改 类型* |
修改描述 | 修改人 | 审核人 | 批准 | 版本 |
| 2009-2-20 | 全部 | A | 新建 | 王**、彭*** | 胡*** | 张*** | 1.0 |
| 2009-7-6 | 5.2、5.6.3 | M | 对内容进行了修改 | 王** | 李*** | 1.1 | |
| 2009-8-18 | 5.2、 5.8 |
M | 添加维护项目类型、添加代码行统计相关内容 | 王** | 芦*** | 1.2 | |
| 2010-1-4 | 5.4 | M | 添加邮件列表规范 | 王** | 1.3 | ||
| 2010-3-22 | 5.9、5.13 | A | 添加组件管理、配置库查阅规范 | 王** | 2.0 | ||
| 2011-10-08 | 5.6 | M | 搭建编译环境内容修订 | 王** | 2.1 |
l 修改类型分为 A - ADDED M - MODIFIED D– DELETED
为了对软件开发过程中的程序代码、文档等配置项进行明确的、量化的管理,配置管理工作贯穿于软件开发活动的始终,覆盖了开发活动的各个环节。它的重要作用之一就是要全面的保存、管理各个配置项,监控各个配置项的状态,并向项目经理及相关人员报告,从而实现对软件过程状态的控制。
所有需要技术体系实现的各种类型项目。
| 角色 | 相关职责 |
| SCM经理 | l 组织、协调项目开发过程中的配置管理工作; l 负责配置库、帐号的初始化; |
| SCM工程师 | l 负责配置库的日常管理; l 负责项目组日常配置管理工作的执行; l 负责项目组配置管理方面的服务支持; |
| 项目经理 | l 带领项目组成员,协助SCM经理、SCM工程师 完成项目的配置管理相关工作; |
| 开发经理 | l 协助SCM工程师完成自动编译及其它相关的配置管理工作; |
| 系统集成工程师 | l 协助SCM工程师完成自动编译相关工作; |
| 项目组成员 | l 协助SCM经理和SCM工程师,完成项目的配置管理相关工作; |
| QA工程师 | l 负责项目配置管理的流程指导与流程执行情况的跟踪和反馈; |
备注:
项目组成员主要包括:产品经理、运营经理、UE经理、测试经理及下属团队成员等。
略
5.1. 入口准则
从产品立项起,即启动配置管理工作。
5.2. 创建配置库
1. SCM经理收到“技术预研通知”、“项目规划启动通知”后1工作日内,发送“配置库创建相关事宜通知”邮件给项目经理、产品经理,抄送QA工程师。协商确定产品的配置库,以便保存、管理《项目工作成果清单》中需存放在库中的各类配置项。
2. 对于其它产品,收到质量信息管理员的通知后1工作日内,发送“配置库创建相关事宜通知”邮件给项目经理。协商确定产品的配置库,以便保存、管理需存放在库中的各类配置项。
5.2.1. 配置库分类
根据用途,配置库分为:
1. 开发库:用于存放开发过程中源代码、文档,以及项目管理活动的相关文件。
l 开发库用CVS系统实现。
2. 交付库:用于存放开发过程中产生的自动编译结果、最终工作成果文件。
l 交付库用ProFTPD系统实现。
5.2.2. 配置库创建标准
1. 开发库创建标准:
l 开发库采用一个产品对应一个配置库的形式存放在配置管理服务器上;
l 开发库应存放在开发团队多数成员访问便捷的配置管理服务器上;
l 开发库分为“AccessControl”、“Develop”和“Task”三级目录;
l 对于产品的升级版本、维护版本,以前有开发库一般使用原有的开发库。源代码存放在原有的“Develop”目录下,不再新建。项目文档,可在“Task”目录下建立其升级版本目录存放(如图1所示);
图1 开发库结构
2. 交付库创建标准:
l 交付库采用一个产品对应一个文件夹目录的形式存放在FTP服务器上;
l 交付库下只需创建“Output”一级目录,该目录下的子级目录将由自动编译服务器自动生成。(如图2所示);
图2 交付库结构
5.2.3. 配置库命名
为便于识别不同的配置库,建立新配置库时需确定唯一的标识名,由SCM经理和产品经理、项目经理协商确定配置库名称。
配置库命名规则如下:
l 采用简短的产品英文名,一般控制在10个字符内;
l 必须使用英文字母(和数字)组成;
l 必须以字母开头;
l 一般用“-”作为分隔符;
l 不能包含“.”等其它特殊符号和空格符;
l 交付库名称和对应开发库名称必须相同。
5.2.4. 配置库结构划分
为清晰管理各类配置项,便于应用,SCM经理应与产品经理、项目经理共同协商确定开发库、交付库的目录结构。一般,SCM经理根据《产品配置管理操作规范》里面的《开发库结构规范》,进行开发库目录结构的划分。
5.2.5. 建立配置库
SCM经理在接到“产品立项通知”或“规划启动通知”后的2工作日内,创建完成配置库及相关目录结构。并将配置库信息记入到《项目配置库清单》中。
5.2.6. 维护、变更
SCM经理在接到质量信息管理员发送的项目变更通知后,变更相关配置库信息,并将配置库信息记入到《项目配置库清单》中。
5.3. 创建帐号
1. SCM经理或SCM工程师负责创建配置库帐号及初始密码;
2. 不同帐号具有不同的操作权限。
5.3.1. 帐号分类
开发库(CVS)帐号:用于访问开发库的帐号。
交付库(ProFTPD)帐号:用于访问交付库的帐号。
5.3.2. 帐号命名
为便于识别、管理配置库各类帐号,SCM经理、SCM工程师应根据《帐号命名规范》进行帐号命名。
5.3.3. 帐号权限划分
为了配置项的安全管理,SCM经理、SCM工程师应根据《帐号权限管理规范》,进行帐号权限设置。
5.3.4. 建立帐号
1. 对于新建配置库,SCM经理完成配置库的创建后,即可开通并分配产品经理、项目经理、业务领域总监、QA工程师的配置库帐号及权限。
2. 项目经理把项目组成员的帐号及权限填写到《配置库结构及权限表》中,并发送给SCM工程师。
3. SCM工程师收到项目经理提交的《配置库结构及权限表》后1工作日内,完成帐号建立和权限分配。
5.3.5. 维护、变更
1. 当需要对已有配置库的帐号或权限进行维护、变更时,项目经理须对原有配置库的《配置库结构及权限表》中人员、权限进行核实,如有增加、删除、修改的部分用红色标记表示,核实后发送《配置库结构及权限表》给SCM工程师;
2. SCM工程师收到项目经理提交的《配置库结构及权限表》后1工作日内,完成帐号的变更和权限的分配。
5.4. 创建邮件列表
1. SCM经理负责在创建配置库的同时创建邮件列表。
5.4.1. 邮件列表创建标准
1. 邮件列表采用一个产品对应一个邮件列表名称的形式。
5.4.2. 邮件列表命名
1. 为便于识别不同的邮件列表,由SCM经理和产品经理、项目经理协商确定邮件列表名称;
2. 一般,邮件列表名称和对应配置库名称相同。
5.4.3. 建立邮件列表
1. 对于新建配置库,SCM经理同时完成邮件列表的创建。
2. 项目经理把项目组成员的邮箱填写到《配置库结构及权限表》中,并发送给SCM工程师。
3. SCM工程师收到项目经理提交的《配置库结构及权限表》后1工作日内,完成邮箱地址添加。
5.4.4. 维护、变更
1. 当需要对已有邮件列表进行维护、变更时,项目经理须对原有配置库的《配置库结构及权限表》中人员邮箱地址进行核实,如有增加、删除、修改的部分用红色标记表示,核实后发送《配置库结构及权限表》给SCM工程师;
2. SCM工程师收到项目经理提交的《配置库结构及权限表》后1工作日内,完成邮件列表的邮箱地址变更。
5.5. 发送配置库通知
1. SCM经理在完成配置库的创建、帐号开通后1工作日内,发送“配置库创建通知”给产品经理、项目经理、业务领域总监,抄送QA工程师、SCM工程师;
2. SCM工程师根据《配置库结构及权限表》完成帐号的建立和维护后1工作日内,发送“帐号通知”给项目经理,同时抄送给帐号持有者、本领域总监、和QA工程师;
3. 对于帐号、密码详细信息,SCM经理或SCM工程师须发送单独“帐号通知”邮件通知给各帐号持有人;
4. 发送通知的详细内容见《产品配置管理相关通知》里面的“配置库创建通知”和“帐号通知”。
5.6. 搭建编译环境
为保证开发库中源代码与交付库中程序包的一致性,项目组须使用自动编译工具执行编译,并由SCM工程师为项目搭建编译环境。
1. 当项目进入系统测试阶段前,开发经理需要发邮件通知SCM工程师搭建编译环境;
2. SCM工程师收到通知后,根据《产品项目编译手册》和《自动编译操作规范》,为项目建立编译环境,并验证《产品项目编译手册》的可用性,反馈开发经理存在的缺陷;
3. SCM工程师协助系统集成工程师根据《自动编译调用接口文件规范》准备编译脚本,并验证编译脚本的规范性,反馈存在的缺陷;
4. 编译管理系统用CruiseControl实现;
5. 编译环境搭建完成后,SCM工程师邮件答复,发送“自动编译通知”给开发经理、项目系统集成工程师,业务领域总监,抄送QA工程师、SCM经理。
5.7. 基线管理
为明晰配置项的评审、批准情况,项目进展过程中需对配置项进行基线管理。
5.7.1. 基线分类
一般,基线类型按照项目阶段进行划分,例如需求基线、设计基线等。
在 图1 开发库结构 中的Develop、01Creativity到18Maintenance都是不同的阶段基线目录。
注意:Reference目录是提供给项目的临时目录,不是基线目录,不能存放基线成果。
5.7.2. 基线版本
经过评审、批准的配置项版本,即为该配置项的基线版本。
5.7.3. 记录基线
SCM工程师根据《基线管理的操作规范》,记录基线:
1. 收到《项目工作成果确认表》或《阶段验收确认表》后,进行工作成果的版本检查;
2. 根据项目阶段,依照《版本管理规范》对配置项进行基线Tag标识操作;
3. 将形成基线的配置项相关信息记入到《项目基线记录表》中。
5.7.4. 发送基线通知
SCM工程师记录基线信息后,发送“配置项基线通知”给项目经理、开发经理、抄送QA工程师、SCM经理和项目组成员。
5.8. 交付管理
为明确项目交付时,其最终发布的工作成果及版本情况,SCM工程师需对项目交付进行配置管理。
5.8.1. 配置项交付记录
SCM工程师收到《项目发布审批表》、《组件信息表》后,根据《交付管理操作规范》,完成相关工作后,将交付信息记入到《项目基线记录表》。
5.8.2. 配置项交付通知
SCM工程师记录交付信息后,发送“配置项交付通知”给项目经理、开发经理、抄送QA工程师、SCM经理和项目组成员。
5.9. 组件管理
对于非组件项目产生的组件,主要指非组件立项项目开发过程中所产生的组件或个人途径提交的组件进行配置管理。
5.9.1. 创建配置库
SCM经理收到《组件信息表》后,并且收到业务领域总监反馈同意的意见后后1工作日内,发送“配置库创建相关事宜通知”邮件给项目经理,抄送QA工程师。
SCM经理在接到项目经理答复后的2工作日内,创建完成配置库及相关目录结构。并将配置库信息记入到《项目配置库清单》中。
5.9.2. 创建帐号
参照5.3节要求创建帐号。
5.9.3. 发送配置库通知
参照5.5节要求发送配置库通知。
5.9.4. 搭建编译环境
参照5.6节要求搭建编译环境。
5.9.5. 交付管理
参照5.8节要求完成交付管理。
5.10. 代码行统计
为协助QA工程师完成项目的考核和度量工作,SCM工程师会对项目源代码进行代码行统计。
1. QA工程师将需要统计的项目基线版本、文件类型等信息,以邮件方式发送给SCM工程师。
2. SCM工程师收到代码行统计mail通知后,根据《代码行统计操作规范》,完成相关工作,将统计信息记入到《项目基线记录表》。
3. SCM工程师记录统计信息后,发送“代码行统计通知” 给QA工程师、项目经理、SCM经理和项目组成员。
5.11. 结项管理
为保证配置库中配置项的合理及有效性,在项目结项、暂停、取消时,SCM工程师须审核各配置项的状态、完整性、一致性。
1. SCM工程师在收到“服务交付阶段结束及项目结项开始通知”(针对内部研发和组件项目)和“Beta测试阶段结束及项目结项开始通知”(针对产品项目)后,根据《结项管理操作规范》,完成相关工作,将配置项结项信息记入到《项目基线记录表》。
2. SCM工程师记录结项信息后,发送“配置项结项通知” 给QA工程师、项目经理、SCM经理和项目组成员。
5.12. 运营维护支持
产品交付上线后,
1. 为保证开发库、交付库中各配置项的及时更新及有效性,项目经理、产品经理及项目组相关成员,应基于配置库进行各配置项的管理;
2. 在系统维护升级时,SCM工程师根据需要,为项目组搭建编译环境,协助项目组完成自动编译,并根据《运营维护支持操作规范》,完成相应的基线管理及交付管理工作。
5.13. 配置库查阅
SCM工程师根据业务领域总监反馈意见,分配相应权限给查阅人,邮件通知查阅人,抄送至业务领域总监、QA工程师、项目经理。
5.14. 服务支持
SCM经理、SCM工程师根据日常需求,负责随时维护、管理配置库,支持项目相关配置管理工作。
5.14.1. 工具支持
SCM经理、SCM工程师要根据日常需求,随时维护配置管理相关工具、系统、编译环境,解决出现的异常问题。
5.14.2. 培训
SCM经理、SCM工程师要根据日常需求,为项目组提供配置管理方面的相关培训。
5.15. 出口准则
产品终止。
| 活动 | 裁剪说明 |
| 配置库结构划分 | 不可裁剪 |
| 建立配置库 | 不可裁剪 |
| 帐号权限划分 | 不可裁剪 |
| 建立帐号 | 不可裁剪 |
| 维护、变更帐号 | 不可裁剪 |
| 发送配置库通知 | 不可裁剪 |
| 搭建编译环境 | 可裁剪。如果项目没有代码成果,则可裁剪。 |
| 记录基线 | 不可裁剪 |
| 发送基线通知 | 不可裁剪 |
| 配置项交付记录 | 不可裁剪 |
| 配置项交付通知 | 不可裁剪 |
| 代码行统计 | 可裁剪 |
| 结项管理 | 不可裁剪 |
| 运营维护支持 | 不可裁剪 |
| 服务支持 | 不可裁剪 |
| 文档名称 | 责任人 | 文档类型 | 裁剪说明 |
| 《项目配置库清单》 | SCM经理 | excel | 不可裁剪 |
| 配置库创建相关事宜通知 | SCM经理 | 邮件 | 不可裁剪 |
| 《配置库结构及权限表》 | 项目经理 | excel | 不可裁剪 |
| 配置库创建通知 | SCM经理 | 邮件 | 不可裁剪 |
| 帐号通知 | SCM经理、SCM工程师 | 邮件 | 不可裁剪 |
| 编译通知 | SCM工程师 | 邮件 | 可裁剪。如果项目没有代码成果,则可裁剪。 |
| 《项目基线记录表》 | SCM工程师 | excel | 不可裁剪 |
| 配置项基线通知 | SCM工程师 | 邮件 | 不可裁剪 |
| 配置项交付通知 | SCM工程师 | 邮件 | 不可裁剪 |
| 代码行统计通知 | SCM工程师 | 邮件 | 可裁剪 |
| 配置项结项通知 | SCM工程师 | 邮件 | 不可裁剪 |
转载于:https://my.oschina.net/tadcat/blog/150831