软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程策划篇
续:软件项目量化管理(CMMI高成熟度)实践经验谈——之概述篇
二、项目管理过程
软件开发项目管理过程,从项目全视角来看,分为售前、售中、售后等三个大的阶段。本文所谈的是售中阶段项目管理过程。在售中阶段,项目管理主要分项目策划、项目跟踪监控、项目结项归档等三部分,相关活动包含销售活动、採购活动、资源活动、支持活动等。
1、项目策划
项目策划是一种具有建设性、逻辑性的思维的过程,在此过程中,总的目的就是把全部可能影响决策的决定总结起来,对未来起到指导和控制作用,终于借以达到方案目标。
它是一门新兴的策划学,以详细的项目活动为对象,体现一定的功利性、社会性、创造性、时效性和超前性的大型策划活动。
1.1、项目策划的原则
1、可行性原则
项目策划。考虑最多的便是其可行性。"实践是检验真理的唯一标准",相同。项目策划的创意也要经得住事实的检验。
2、创新性原则
创新是事物得以发展的动力。是人类赖以生存和发展的主要手段,每一个软件项目都是全新,要依据项目特征值创新性的策划项目。
3、无定势原则
世界万物都处在一个变化的氛围之中,没有无运动变化的事物,事物就是在这样的运动的作用下发展的。
4、价值性原则
项目策划要依照价值性原则来进行,这是其功利性的详细要求与体现。比如:项目工作量最少的QPPO。就是项目的价值取向。
5、集中性原则
在战争中。集中优势兵力攻击对方关键性的部分,成为军事谋略的上策。
不论是军事项目,还是软件开发项目,都能够借此达到胜利的目标。
6、智能放大原则
人的能量是无穷的,策划中的创意与构思也是无止境的,因此说项目策划要坚持智能放大的原则。
7、信息性原则
信息是项目策划的起点,详细来说,包含下面几项要求:
1)收集原始信息力求全面
2)收集原始信息要可靠真实
3)信息加工要准确、及时
4)保持信息的系统性及连续性
1.2、项目策划根据和准则
在企业进行CMMI评估过程中,在CMMI2、3级时就已经建立起项目管理过程及体系文件。并日臻成熟,所以。项目策划时是须要根据企业本身的CMMI体系文件,也就是公司SOP(标准体系文件),相关已经和准则例如以下:
1、项目过程定义裁剪准则
可裁剪属性有:生命周期模型。项目类型,项目阶段,评审级别,文档是否裁剪。频度。成本、进度容差,里程碑延迟等。详见《组织过程裁剪指南》裁剪项目过程。
2、任务分解准则(WBS)
根据《项目定义过程》、《项目估算报告》、《项目实施计划》、《项目进度计划模版》等过程体系文件和指南。任务分解准则例如以下:
⑴、WBS分解分类:项目分解WBS(项目管理类型任务分解)、技术分解WBS(项目project任务及特有技术工作内容分解)。
⑵、WBS分解原则:
- 项目要求;
- 定义逐步求精;
- 人时(工作量):一般的任务不超过2周。也就是80人时;
- 任务责任到人。
- 团队工作原则:项目经理在制定项目计划过程中。尤其是在任务分解,工期预计对关键过程中一定要与项目成员一起进行。
3、项目估算根据
參考体系文件《估算指南》,根据项目合同、需求、项目通知、任务分解。以及组织资产库进行项目估算。
4、软件项目风险管理规则
- 风险类别有:人员、客户、管理、质量、測试、环境等;
- 风险系数有:高、中、低;
- 风险发生概率和风险影响范围分别1~5分。
5、风险的管理策略
a. 当风险系数(高)在16~25之间。必须制定应急计划。而且随时监控风险变化情况,一旦风险发生。则立马启动应急计划。
b. 当风险系数(中)在 9~15之间。可不制定应急计划,定期监控风险变更情况。随时准备启动缓解措施。
c. 当风险系数(低)在 1~8之间。可不制定应急计划。定期监控风险变更情况,必要时启动缓解措施。
注:对于部分低风险,可选择接受。
1.3、 策划过程及内容
项目策划过程就是项目经理接到项目启动通知后。根据项目启动通知和项目项目策划过程,在部门经理、项目级QA、CM等人员的配合下,进行项目过程定义、项目估算、项目实施计划的制定和维护、项目策划评审等工作。
输出成果有:项目实施计划、项目估算报告、项目定义过程、进度计划。
1.4、项目策划过程实践
1、项目开发过程定义
在项目过程定义中,在项目级QA的协助下,參考《组织过程裁剪指南》和《软件生命周期》裁剪定制适合于项目的生命周期模型,制定《项目定义过程》。因为本项目需求比較明白,所以採用了瀑布模型。定义阶段例如以下:
- 需求阶段
- 设计阶段
- 编码及单元測试阶段
- 集成測试阶段
- 系统測试阶段
- 验收測试阶段
当中。需求、编码及单元測试、系统測试、验收測试为里程碑。
2、项目估算
项目估算是參照任务分解模版和《估算指南》,分别定义项目project活动、项目管理活动、项目支持活动三部分。
⑴.项目project活动按本项目实践的瀑布模型生命周期和PDP。主要定义例如以下:需求开发、需求评审、软件设计、设计评审、编码与測试、代码走查、单元測试、集成測试、系统測试、项目验收等活动。
⑵.项目管理活动分解活动例如以下:项目立项、项目策划、周报例会、项目结项、其它项目管理活动(比如:需求管理、量化管理等)、项目度量。
⑶.项目支持活动分解为配置管理和质量保证两类活动。
1)、编码工作量估算(代码行数)
项目工作活动中,编码活动估算,是依据项目实际情况和前期需求及资产库。工作范围和软件功能分解到详细功能模块(树状结构),估算代码行数,估算方法为Delphi。估算记录例如以下图所看到的。
使用Delphi法估算代码行数。估算两轮,第一轮会议室办公用品管理、后台配合两个模块的估算额定偏差超过20%,因此仅对两个模块进行了第二轮估算。
2)、工作产品规模估算(页数等)
项目project活动中。基于项目wbs的规模和工作量估算”中对除编码阶段外其他阶段进行工作产品规模估算,并通过计算得到工作量
3、项目实施计划
项目实施包含:项目概况、项目组构成及人力资源计划、项目预算及进度计划、干系人參与计划、度量分析计划、.其他子计划等6部分内容,具体内容例如以下图所看到的。
1)、项目概况
项目概况介绍了项目背景和基本信息及建设目标等内容,核心内容为项目目标,比例如以下图项目过程性能目标(Project's QPPO),以及项目范围、验收标准、待交付产品或服务、项目工作环境、项目风险等。
2)、项目组构成及人力资源计划
项目组由项目经理、QA、CM、需求开发者、设计人员、编码人员、測试人员构成,按下表的职责分工协作,由项目经理全面负责。
当中,人力资源计划是依据项目实际情况和资产库。分别选配0基础、中级、高级技术人员,以及相关技术专业。假设人员能力不足。则安排专业技能培训计划。
在项目组构成及人力资源计划中主要体现项目组构成、角色与职责、项目所需知识与技能分析、项目培训计划。
3)、项目预算及进度计划
项目预算及进度计划包含项目生命周期、项目工作量及预算分配、项目一级计划、里程碑标定说明等4项内容。因为此项目需求清晰完整,所以生命周期模型选择瀑布模型。由此定义兴许内容。
项目工作量及预算分配。按需求开发、软件设计、编码与測试、集成測试、系统測试、项目验收、项目管理、支持过程及估算工作量,确定工作量预算分配比比例如以下:11%、23%、26%、7%、10%、4%、13%、6%。期中,预算还包含人力成本、差旅费用、其它费用。
进度计划例如以下表所看到的。
项目里程碑是必须设置的,此项目定义例如以下:需求开发、编码与測试、系统測试、产品验收4个里程碑。
4)、项目干系人參与计划
项目干系人參与计划主要包含:项目干系人识别及职责定义、干系人參与计划、外部干系人沟通计划等3部分内容。例如以下表所看到的为项目干系人识别及职责定义。
干系人參与是按项目各个阶段协商安排计划。计划内容例如以下:阶段、任务名称、參与人员、開始日期、完毕日期、任务完毕验收标准。
外部干系人參与计划。主要计划内容有:沟通方式、沟通内容、发起人、外部干系人、沟通频率。
5)、度量分析计划
度量分析计划包含项目度量目标及度量指标、度量分析计划等两部分。因为度量是比較主要的内容,并且基本同样,再此略。
6)、其他子计划
其他子计划包含:数据管理计划、项目监控计划、需求管理计划、决策分析计划、项目评审计划、项目測试计划。
数据管理计划为识别项目需纳入数据管理范围的数据项,并计划其管理级别等相关信息。
具本的数据项请參见:配置管理计划。
项目监控计划主要是有:
- 项目管理
- 项目周报
- 风险管理
- 周例会
- 里程碑评审
- 日常监控报告
- 配置管理
- 配置管理周报
- 质量保证
- 质量保证周报
- 度量分析
- 项目进度度量
- 项目工作量度量
- 规模度量
- 过程质量度量
- 产品质量度量
4、项目进度计划
在完毕实施计划后,開始对项目实施计划进行细化,当中,项目进度计划是当中重要细化内容,并贯穿项目全周期。
项目进度计划是子计划。主要是基于项目实施计划中的资源、进度计划、里程碑等各项内容,在项目实施过程中进行任务分配、人力资源分配、时间分配,上述分配要与project进度相协调。任务管理模型例如以下表所看到的:
在项目进度计划编排过程,须要注意下面原则和情况:
- 任务分配渐进式。也就是说在任务分解渐进精细的过程中,任务也要逐步分配到人,详细任务,让开发者看到2周就能够了,再多分配。则在调整任务时,将耗费非常大精力;
- 根据里程碑识别并确定关键路径。在任务进度安排过程中,应先寻求关键路径并在关键路径上安排一定的机动时间和节假日,以便应付意想不到的困难和问题。
;
- 理顺任务间的关系。提高并行化。
- 做好项目基线(基于MS Project)。
注:项目基线是特指项目的规范、应用标准、进度指标、费用指标以及人员和其它资源使用指标等。
基线随着项目的进展而变化,主要原因有:(1)时间指标无法实现;(2)各项任务延期完毕;(3)里程碑未达到;(4)有些工作不能按时開始;(5)人员不能按计划到位;(6)设备性能被过高预计;(7)高峰期人员工效不高。(8)预算过高或过少;(9)工作完毕量超过或未达到计划。——智库.百科
5、项目配置管理计划
配置管理计划是软件开发计划的一部分。它设立了项目的配置管理策略及实践。
受控级别说明:
- 低:不必随时跟踪版本号。但要求将阶段性成果在配置库内必须有。如项目周报。不要求跟踪版本号等,但必须检查是否已放入配置库对应位置。
- 中:表示该配置项受控。其每一个版本号须要审核、评审或測试,由配置管理project师存放03.Baseline下对应位置。
- 高:表示基线控制。修订须要通过变更控制过程来严格控制。并要跟踪版本号及存放位置的正确性。全部纳入基线库的工作产品必须定为高级。其他则依据项目须要来定。
- 密:机密文件。不可复制,不可拷贝。
下图为落实配置管理所建立配置管理库的结构图。
6、质量保证计划
质量保证计划主要是由QA来完毕,在此略。