第二部分 管理过程规范
管理规程规范分为两个部分:项目管理过程规范、配置与变更管理过程规范。
7 项目管理过程规范
7.1 过程概述
项目管理过程如下图所示
管理过程贯穿于软件开发过程的始终,它也随着开发过程的迭代进行自身的迭代。
7.2 项目准备7.3
7.3.1 概述
项目准备活动在软件开发过程中只进行一次,即在项目初始阶段的第一个迭代中,而且它是最早进行的活动。
7.3.2 确定并评估风险
执行角色
项目经理
活动描述
项目经理 确定潜在的风险,分析风险、确定风险的优先级并制定风险规避和降低策略,填写《风险列表》;
制品
《风险列表》(草拟)
7.3.3 启动项目
执行角色
项目经理
活动描述
指派项目复审与变更控制委员会成员;
由项目复审与变更控制委员会正式任命项目经理;
指派项目计划团队(项目计划团队是将要执行先启阶段工作的项目团队初始成员。计划团队由项目经理和项目复审与变更控制委员会共同确定、批准和指派。通常,项目计划团队可能会包括项目经理、构架设计师、系统分析员、开发负责人、测试负责人、配置管理员、领域专家);
已正式或非正式的形式规定技术监督小组及组长的任命规则;
批准项目验收标准,对于有明确合同要求的软件项目,合同的要求可以作为验收标准;
由以上内容形成《软件开发计划》的“组织结构”部分;
制定用于初始阶段的第一次迭代的迭代计划,形成《迭代计划》;
制品
《软件开发计划》初稿;
初始阶段第一次迭代的《迭代计划》。
7.3.4 定义项目组织与人员配备7.3.5
执行角色
项目经理
活动描述
项目经理决定项目组的梯次,即管理、需求、分析设计、质量保证等,并决定每个梯次所需的角色和职责。对于规模较小的项目,项目经理可以直接定义所需人员的数量、人员的技能,将该部分内容写入《软件开发计划》的“人员配备计划”部分。
制品
更新的《软件开发计划》;
7.3.6 制定质量保证计划
执行角色
项目经理
活动描述
确保制定了项目的质量目标(项目经理部需要制订质量目标,但应确保已经由该目标存在);
确定质量保证角色与职责;
确定质量保证任务与时间表,质量保证活动主要指各种复审,即计划复审和验收复审;
形成《质量保证计划》;
制品
《质量保证计划》;
7.3.7 计划阶段和迭代
执行角色
项目经理
活动描述
定义项目阶段里程碑;
定义里程碑目标;
定义阶段内迭代的数量、长度和目标(确定将为每个项目阶段安排多少次迭代、确定分配给各次迭代的相对工作量、确定每次迭代的目标);
改进里程碑日期和规模(根据在先启阶段结束时获得的信息来对估计加以改进);
确定项目资源需求(确定角色及数量),定义该项目所需的资源数量和类型(按阶段/迭代分配);
根据以上内容更新《软件开发计划》。
制品
更新的《软件开发计划》;
7.3.8 制定软件开发计划
执行角色
项目经理
活动描述
根据以上内容形成《软件开发计划》。
制品
更新的《软件开发计划》;
7.3.9 编制开发案例
执行角色
流程工程师
活动描述
根据项目的性质、进度要求等形成《开发案例》;
制品
《开发案例》
7.3.10 项目计划复7.3.11 审
执行角色
项目复审员
活动描述
安排召开项目计划复审会议的时间;
分发会议材料(风险列表、软件开发计划);
召开项目计划复审会议;
根据复审会议的决定形成《复审记录》。
制品
《复审记录》
7.4 计划下一次迭代
7.4.1 概述
对下一次迭代进行规划。
7.4.2 计划下一次迭代
执行角色
项目经理
活动描述
确定迭代的范围,即确定哪些用例需要优先实现、哪些非功能要求需要优先考虑;
定义迭代活动,即根据以上确定的范围确定要执行的活动集(核心工作流中的那些部分);
确定该次迭代要产生的制品;
将这些职责与人员对应;
形成《迭代计划》;
制品
《迭代计划》
7.4.3 制定软件开发计划
执行角色
项目经理
活动描述
改进里程碑日期和规模,制定更准确的阶段计划(要考虑已确定的用例数量、已确定的用例复杂性、已确定的风险等);
制品
更新的《软件开发计划》;
*注:该活动并非必需的
7.5 管理迭代
7.5.1 概述
进行迭代日常的管理。
7.5.2 人员配备7.5.3
执行角色
项目经理
活动描述
将人员与角色对应;
任命技术监督小组组长和其他组员;
将对应关系写入《软件开发计划》的“人员配备”部分;
制品
更新的《软件开发计划》;
7.5.4 启动迭代
执行角色
项目经理
活动描述
将人员分配给工作包;
获取并分配非人员资源(例如工位、计算机等);
发出工作单;
制品
《工作单》;
7.5.5 评估迭代
执行角色
项目经理
活动描述
评估迭代结果,检验是否已实现迭代目标,书写《迭代评估》;
考虑外部变更,拟定《变更请求》;
制品
《变更请求》;
7.5.6 迭代验收复7.5.7 审
执行角色
项目复审员
活动描述
安排召开项目计划复审会议的时间;
分发会议材料(风险列表、软件开发计划);
召开项目计划复审会议;
根据复审会议的决定形成《复审记录》。
制品
《复审记录》;
7.6 监测与控制项目
7.6.1 概述
该活动主要是监控项目变更,处理变更请求;并非所有的变更都需要正式向项目复审与变更控制委员会提交并复审;一般影响较小的变更,比如轻微缺陷的修复可以由项目经理直接决定。
7.6.2 检测项目状态
执行角色
项目经理
活动描述
根据《迭代计划》和《软件开发计划》对项目的状态(包括进展、风险化解情况等)进行检测,并通过各种方式向项目复审员汇报。
制品
无;
7.6.3 安排和分配工作
执行角色
项目复审员
活动描述
将变更请求分配到迭代(一般重要的扩展请求会被延期到下一个迭代甚至更迟的迭代中,而缺陷修复一般在本次迭代中完成);
分配职责;
说明工作和预期结果;
制定时间表;
如果必要,修改当前迭代计划,并在软件开发计划中反映出对将来迭代的影响;
发出工作单;
制品
《工作单》;
7.7 确定并评估风险
执行角色
项目经理
活动描述
项目经理 确定潜在的风险,分析风险、确定风险的优先级并制定风险规避和降低策略,填写《风险列表》。
制品
《风险列表》(更新)
7.8 阶段收尾
7.8.1 概述
该活动仅在阶段收尾时执行。
7.8.2 为阶段收尾做准备7.8.3
执行角色
项目经理
活动描述
检查所需工件的状态;
向涉众交付制品(具体制品见“附录一 项目里程碑”);
制品
《软件开发计划》(交付);
《状态评估》(最近的迭代形成的,交付);
《迭代评估》(最近的迭代形成的,交付);
7.8.4 生命周期里程碑复7.8.5 审
执行角色
项目复审员
活动描述
安排生命周期里程碑复审会议日程;
分发会议材料;
召开生命周期里程碑会议;
记录决定;
制品
《复审记录》;
7.9 项目收尾
7.9.1 概述
该活动仅在项目收尾时执行。
7.9.2 为项目收尾作准备7.9.3
执行角色
项目经理
活动描述
为活动安排时间表,此时间安排表应包含在软件开发计划中;
进行项目事后检查复审;
完成验收操作项;
项目收尾;
制品
《软件开发计划》(交付);
《状态评估》(最近的迭代形成的,交付);
《迭代评估》(最近的迭代形成的,交付);
7.9.4 项目验收复7.9.5 审
执行角色
项目复审员
活动描述
安排项目验收复审会议的日程;
分发会议材料;
召开项目验收复审会议;
记录决定;
制品
《复审记录》;
8 配置与变更管理过程规范
8.1 过程概述
配置与变更管理过程如下图所示,其中前两个活动,即“计划项目配置与变更控制”和“创建项目CM环境” 主要在项目开发开始时调用,其他工作流程根据软件开发生命周期的进展情况进行调用。
8.2 计划项目配置与变更控制
8.2.1 概述
8.2.2 制定CM策略
执行角色
配置管理员
活动描述
确定配置标识方法;
确定建立基线方法:建立基线的里程碑、建立基线标记;
确定产品目录结构;
确定备份保存方法;
确定配置状态报告需求:选择基于变更请求的报告、确定报告频率;
制品
无。
8.2.3 建立变更控制流程
执行角色
配置管理员
活动描述
建立变更请求流程:
(1)完成变更请求单,提交变更请求
(2)分析、评估变更请求
(3)分配角色解决变更请求
(4)保存变更历史记录
制定变更复审通知协议;
制品
《配置管理计划》。
8.2.4 编写CM计划
执行角色
配置管理员
活动描述
编写CM计划;
复审并批准CM计划;
维护CM计划;
制品
《配置管理计划》。
8.3 创建项目CM环境
8.3.1 概述
8.3.2 设置CM环境
执行角色
配置管理员
活动描述
编设置硬件环境;
根据配置管理计划在项目储存库上建立产品目录结构;
制品
项目储存库。
8.3.3 创建集成工作区
执行角色
配置管理员
活动描述
在配置管理员设置好项目储存库后,创建集成工作区;
制品
集成工作区。
8.4 交付与变更配置项
8.4.1 概述
8.4.2 创建开发工作区
执行角色
任意角色
活动描述
任意角色在开始进行自己的日常工作前,应该在设置好的项目储存库上创建自己的开发工作区;
制品
开发工作区。
8.4.3 进行日常开发
执行角色
任意角色
活动描述
根据项目经理分配的工作单在自己的开发工作区上进行日常开发与变更工作,这些工作包括:检出、检入、添加、交付、更新工作区;
制品
更新的开发工作区。
8.4.4 交付开发
执行角色
任意角色
活动描述
完成分配工作单上工作内容后,向集成工作区交付开发(变更)内容,这些工作包括:从开发工作区检出,并检入到集成工作区、通知其他人员;
制品
更新的集成工作区。
8.4.5 更新开发工作区
执行角色
任意角色
活动描述
根据配置管理员的通知,从集成工作区check out其他人员的工作内容更新自己的开发工作区;
制品
更新的开发工作区。
8.4.6 建立基线
执行角色
配置管理员
活动描述
根据任意角色交付的已完成工作单,从开发工作区check in他的工作内容到集成开发工作区,
并建立基线,同时通知其他人员更新自己的开发工作区;
制品
基线。
8.4.7 晋升基线
执行角色
配置管理员
活动描述
当产品达到一定的成熟度、稳定性或质量级别,或某个里程碑,集成员与项目经理协商后可以晋升产品基线,这些工作包括:确定基线标记、在集成工作区晋升基线;
制品
基线。
8.5 管理基线与发布
8.5.1 概述
建立基线和晋升基线同上。
8.5.2 创建部署单元
执行角色
配置管理员
活动描述
配置管理员根据材料清单所列出的可交付工件从项目储存库中创建工件的拷贝;
配置管理员在项目储存库中对可交付工件建立或晋升基线;
制品
部署单元。
8.6 审核报告配置状态
8.6.1 概述
8.6.2 报告配置状态
执行角色
配置管理员
活动描述
根据配置管理计划中规定阶段和时间报告统计项目储存库中配置项状态的变化,并给出量化的配置报告(可以由ClearQuest直接生成);
制品
《配置状态报告》。
8.6.3 执行配置审核
执行角色
配置管理员
活动描述
物理配置审核:
准备一份开发案例中给出的所有工件的列表
审核产品目录结构包含每一个工件
报告结果
功能配置审核:
列出产品功能
审核每项功能是否都有一个测试结果
报告结果
制品
《配置审核结果》。
8.7 管理变更请求
8.7.1 概述
变更会对项目项目产生影响,尤其是扩展性的变更以及需求的其他变更往往会对项目产生较大的影响。当这种变更出现时应当严格遵循该过程。较小的变更,尤其一些修复性的变更,项目经理可以自行组织处理。
8.7.2 提交变更请求
执行角色
任意角色
活动描述
完成变更请求单
提交变更请求,变更请求单状态为已提交
制品
《变更请求单》(已提交)。
8.7.3 更新变更请求
执行角色
任意角色
活动描述
接收变更请求表单(已重复或已拒绝)
更新并重新提交变更请求
制品
《变更请求单》(已更新)。
8.7.4 复8.7.5 审变更请求
执行角色
项目复审与变更控制委员会
活动描述
准备要复审的变更需求;
安排召开复审会议的时间;
复审已提交的变更请求;
制品
《变更请求单》(已复审)。
8.7.6 确认重复8.7.7 活拒绝的变更请求
执行角色
项目复审与变更控制委员会
活动描述
准备经复审怀疑认为重复或已拒绝的变更请求;
指定CCB代表确认重复或拒绝的变更请求;
更新变更请求状态:
(1)已确认重复或拒绝的变更请求应该关闭,同时通知变更请求提交者;
(2)要求提交者提供更多信息,或更新变更请求信息,说明不是重复或拒绝的理由,重新提交以备CCB复审;
制品
《变更请求单》(已拒绝)。
(第二部分 管理过程规范结束,第三部分为技术过程规范将稍后刊出)