项目的目标和范围确定后,需要开始确定项目的过程,项目整个过程中采用何种生命周期模型?项目过程是否需要对组织级定义的标准过程进行裁剪等相关内容。项目过程定义是进行WBS分解前必须确定的一个环节,你采用瀑布模型和增量迭代模型对WBS分解和进度计划安排显然是完全不同的。
项目过程确认清楚后开始进行项目的WBS分解,WBS分解一般是项目组的核心成员参加,但项目经理应该是起主导和协调作用。WBS分解方法一般有基于过程和基于成功两种方式,但两种方式可以混合使用,比如在高层分解的时候先分解出子系统和工作包,在底层的时候再按照需求,设计,编码和测试各个过程进行分解。WBS的最底层工作单元需要是可以独立核实的产品,需要去下达计划和任务,工作单元需要有明确的责任人,因此有时候在没有做仔细的估算时候我们很难让工作单元满足这些要求,这样就难免在进行估算过程中还要对WBS进行优化和调整。
WBS分解完成后可以开始进行工作单元的估算,估算一般有专家法,三点法和功能点法估算,由于我们的项目采用专家法估算,因此更需要项目核心成员和有经验的成员参加,估算一般会针对工作单元的单位和复杂度进行估算,最后估算出项目的总规模,再除以项目的生产率后得到项目的工作量数据。专家法估算一般会进行很多轮,直到所有指标都收敛(收敛标准是组织或项目事先确定清楚了,如偏差<30%就算收敛)。对于一个软件项目而言,我们用专家法估算其实很难估算出具体的各个功能编码的代码行数据和编码的具体工作量,所以这里是需要使用项目的历史经验数据,即你在做历史项目的时候需求:设计:编码工作量的比例究竟是如何的?然后根据估算得到的需求阶段工作量数据去推算出设计和开发的估算工作量。所以从这点上也可以看出为何软件项目度量和分析很重要,因为你做的度量和分析数据都会作为你后续项目的重要依据。很多项目老说软件估算很不准,原因就在于你没有你自己项目的历史经验数据的积累。
在估算数据出来后,可以使用Project工具安排整个项目的进度计划,在项目进度计划安排中的两个重要内容就是关键人力资源的确定和关键路径的确定。在这两个因素确认清楚后要排出整个项目的进度计划就很简单了。对于项目关键人力资源确定一般可以采用工作单元->人员的责任矩阵进行分析,对于关键路径一般直接用运筹学中的关键路径分析法确定ES,EF,LE和LF四个时间即可。
在项目进度计划基本排出来后就可以规划和确定项目的里程碑和基线了,项目的里程碑和基线是项目重要的跟踪控制检查点,在里程碑项目还会做专门的里程碑报告,对项目的当前状态,项目的进度,工作量,规模,缺陷等各项指标的偏离进行分析。
整个项目进度计划基本出来后需要和项目组的所有项目成员确认,获取项目的内部承诺,项目成员应该对整个进度计划安排基本达成一致。项目计划还有需要支持计划需要制定,项目进度计划出来后整个可以通知QA和配置管理员分别制定质量保证计划和配置管理计划,项目经理协助测试负责人制定项目的系统测试计划。