CMMI for Development读书笔记-项目策划(Project Planning, PP)
2. 项目策划(Project Planning, PP)
2.1. 建立估计值
估计项目范围
首先对工作项目进行总体的描述,然后建立工作拆分结构(WBS)。WBS是由3个关键元素构成的名词:工作(work)--可以产生有形结果的工作任务;分解(breakdown)--是一种逐步细分和分类的层级结构;结构(structure)--按照一定的模式组织各部分。
建立工作产品与工作项目属性的估计值
规模大小估计的工作产品种类主要有:
- 可运行的软件产品及源代码
- 文档与档案
规模大小之度量方式主要有:
- 功能点
- 原始码行数(SLOC)
- 类别(Class)与对象(Object)数量
- 接口的数目与复杂度
- 文档页数
定义项目生命周期
项目生命周期各阶段的定义,有赖于需求的范围,项目资源的估计,以及项目的本质。一般的项目生命周期的划分是将项目分为 "识别需求、提出解决方案、执行项目、结束项目"四个阶段。
决定工作量与成本的估计值
工作量及成本的估计值,通常根据模型分析的结果,或应用于规模大小、活动及其它规划参数的历史资料而来。
2.2. 开发项目计划
建立预算与进度
项目预算及进度,要依据已开发的估计值来安排,并确保预算分配、工作复杂度、工作项目的依存关系均已适当考量
识别项目风险
主要包括识别风险、记录风险、与相关的干系人审查已记录风险之完整性与正确性,并取得其同意、适当地修订风险。
风险识别及分析工具主要有:风险分类、风险评价、查核表、结构化访谈、头脑风暴、绩效模型、成本模型、网络分析、质量因素分析。
规划数据管理
建立确保数据的隐私与安全的需求及程序,并非每个人都有取用项目数据的需要或权限。必须建立程序,以识别什么人可在什么时候取用什么数据。
建立将数据存盘及取用已存盘数据的机制,取用的信息应该以容易了解的型式(例如:电子型式或从数据库的计算机输出)表达,或以其原始建立的型式表达。
决定待识别、收集及分发的项目资料。
规划项目资源
1.决定过程需求
2.决定用人需求
3.决定设施、设备及组件需求。
规划所需知识和技能
1.识别执行项目所需的知识与技能。
2.评价可用的知识与技能。
3.选择提供所需知识与技能的机制。
4.将选定的机制并入项目计划。
规划干系人之参与
项目每个主要活动,都应识别出会受该活动影响的干系人,以及有项目技术来引导该活动的干系人。
建立项目计划
项目的计划,以逻辑的方式定义了所有层面的人力;项目生命周期的考量;技术及管理工作;预算与进度;里程碑;数据管理、风险识别、资源与技术的需求;以及干系人的识别和互动。基础架构的描述包含有项目成员间责任与授权的关系、管理阶层以及组织的支持。
2.3. 取得对计划的承诺
审查影响项目的计划
影响项目的所有计划应予审查,以确保达成使项目成功所需的范围、目标、角色及关系的共识。
调整工作和资源水平
调整的方式通常包括:降低或延后技术效能的需求、争取更多资源、找寻增进生产力的方法、委外、调整项目人员的技能组合、修订影响项目的所有计划或进度表。
取得计划承诺
通常先做一个暂时性的承诺较为适当,以容许工作启动,并进行相关研究,当增加信心至适当程度,需要得到充分的承诺。
2.4. 思考及心得
学习了CMMI中项目策划的章节,并对其中的内容进行了一定的摘录。总体来说按他的要求去做还是有的成功。在文章中它把的项目策划分为三部分内容:建立估计值、开发项目计划和取得对计划的承诺。在实际执行过程中的话会遇到不少难点,首先在文中的建立估计值是前提条件需要需求比较明确的基础之上,在软件开发中需求往往又是最不容易把握的,如何有效的把握需求呢?如果需求把握不住,那估计也就是雾里看花了,看上去很美而已。另外度量方式也比较有问题原始码行数(SLOC)、类别(Class)与对象(Object)数量、接口的数目与复杂度、文档页数,一个这些东西不好估计,另一个估计出来对工作量和成本来说也不是主要因素。关于计划的承诺,现实中会很难,一个有软件本身风险的问题,因为承诺的人自己也确实没有把握在这段时间内完成。另外一个是责任呀,办公室政治呀,老板的愿景跟员工的愿景不一致呀。