实施TSP的先决条件有三条:首先,需要有高层主管和各级经理的支持,以取得必要的资源;其次,项目组开发人员需要经过PSP的培训并有按TSP工作的愿望和热情;第三,整个开发单位在总体上应处于CMM二级以上,开发小组的规模以3~20人为宜。在实施TSP的过程中,首先要有明确的目标,开发人员要努力完成已经接受的委托任务。在每一阶段开始,要做好工作计划。如果发现未能按期按质完成计划,应立即分析原因,以判定问题是由于工作内容不合适或工作计划不实际所引起,还是由于资源不足或主观努力不够所引起。开发小组一方面应随时追踪项目进展状态并进行定期汇报,另一方面应经常评审自己是否按PSP的原理工作。开发小组成员应按自己管理自己的原则管理软件过程,如发现过程不合适,应及时改进,以保证用高质量的过程来产生高质量的软件。项目开发小组则按集体管理的原则进行管理,全体成员都要参加和关心小组的规划、进展的追踪和决策的制定等项工作。
3软件项目管理技术分析研究
CMM的基于活动的度量方法和瀑布过程的有次序的、基于活动的管理规范有非常密切的联系,所以CMM在实践中反映出来的问题表现为过度基于过程的管理,具有典型的传统瀑布方法症状。现代主流的叠代软件项目开发技术、软件产业最佳实践和经济动机推动了软件开发组织采用基于结果的方法:开发业务案例、构想和原型方案;细化后纳入基线结构、可用发布,最后定为现场版本的发布。虽然CMMI保留了基于活动的方法,它的确集成了软件产业内很多现代的最好的实践,因此它很大程度上淡化了和瀑布思想的联系,而和叠代思想联系得更紧密。软件项目管理技术发展到今天,有了成熟的现代软件项目管理十大原理(沃克尔·罗伊斯):①首先注重结构过程;②用叠代生命周期在早期防御风险;③强调基于构件的开发;④建立变更管理环境;⑤用循环工程工具使变更更自由;⑥使用严格的、基于模型的设计符号;⑦提供过程的客观质量控制的手段;⑧使用中间产品的基于演示的评估;⑨发布细化的、展开的计划;⑩建立一个可升级的、可配置的过程。
根据对软件开发项目一线的多数工程师和项目经理的调查分析,我们知道CMM对现代原理几乎没什么影响,甚至有些现代原理实际上是和CMM关键过程域相冲突的。基于对产业默认实践的观察和分析,CMMI和现代管理原理关系十分密切,激发了半数的叠代软件管理原则,如表1所示。
因此,对于采用瀑布过程开发软件项目的组织来讲,最好采用CMM的软件项目管理技术,而对于采用迭代软件开发过程开发软件项目的组织来说,还是应该采用CMMI软件项目管理技术进行软件项目管理。