1. 过程裁剪的理念
所谓过程裁剪(Process Tailoring)就是通过增加、删除、替换方法、修改顺序、组合等方式对软件开发模型进行优化,使之符合团队和项目的具体特点。
由于各种生命周期模型在软件工程领域已经有深入的研究,业界对于瀑布模型、迭代模型、增量模型、螺旋模型等经典软件开发模型的使用场合等也基本达成了共识。因此,项目只需要将项目的实际特点与生命周期模型的应用场合相匹配,选择合适的生命周期类型即可。同时,敏捷开发方法论也深入人心,对于Scrum、极限编程、精益思想和看法方法的理念和具体工程实践也获得越来越多的应用,这就为我们建设符合自身特定的过程体系提供了输入。
进行过程裁剪的第一步是明确可裁剪的对象。可裁剪对象确定了裁剪的范围,可裁剪对象不仅限于过程元素和活动,还包括标准、方法和工具、输出的工作产品及模板等。其次,需要明确裁剪所考虑的要素。对于某个裁剪对象,其范围、频度、正式度等都是裁剪要素。如,对于已有类似开发经验的项目,可以适当减少过程培训、业务培训等活动;对于开发周期较短的项目,可以适当合并一些评审活动,如概要设计和详细设计评审合并进行。当我们对活动、文档、度量指标等进行裁剪并形成新的过程体系之后,一般也需要评审该过程体系并把它上升到基线标准。
采用简单易用的图、表等形式展示裁剪的指南有助于裁剪工作的推进,对上述提到的裁剪对象、裁剪的方法应都有描述,可以针对不同类型的项目或不同类型的活动提供裁剪后的几套模板,并确保裁剪指南的描述没有二义性,确保减少沟通的误差。
2. 过程裁剪的几种表现形式