天天看点

个体软件过程PSP

SEI除了推出了针对组织级的过程改进模型CMMI以外,还开发了针对个人和团队的PSP(Personal Software Process)和TSP(Team Software Process)模型,有人把PSP、TSP和CMMI形容为“修身、齐家、治国”的递进关系,说明它们之间的一脉相承关系。这种递进的关系符合管理中层层分解的思想,每个人的质量意识和技能的提升加起来不就是整个组织的质量能力的提升么。

PSP、TSP和CMM的共同主创者就是大名鼎鼎的Watts S. Humphrey,这位软件工程大师被软件界人士尊称为“CMM之父”。Watts .S. Humphrey能提出CMM理论,得益于他在IBM的27年的工作经历,他最后在IBM负责管理产品研发。1986年他从IBM辞职加入美国卡内基梅隆大学软件工程学院(SEI),受美国国防部委托,提出了软件能力成熟度模型,即CMM。

与CMM/CMMI的关注点不同,PSP是关注个人软件过程的质量提升,Humphrey认为一名优秀的软件工程师应该学会对于自己的开发过程不断地总结和提高,而个人过程改进的办法也是通过对开发过程的不断记录、跟踪,通过这种量化的分析可以清楚地了解个人的开发效率、开发质量,以及采用何种工作时间的分配能够达到较为理想的质量,通过这些量化能力的积累,个人可以对自己的工作进行更加准确的估计,从而可以更加合理地对团队和组织进行承诺,为组织贡献高质量的软件成果。

PSP当中,Humphrey引用了经验数据指出,在设计阶段每小时大约会引入1.76个缺陷,而在编码阶段每小时引入的缺陷大概是4.20个,因此,如果我们不做设计而把大量的时间用在编码时候的“内心设计”的话,无疑就会引入更多的缺陷,从统计的角度为我们需要认真做设计提供了注脚。Humphrey还指出这种内心的设计活动是没有文档化的,因此就无法被自己或别人REVIEW,从而也错过了发现缺陷的最佳时间。

PSP相对CMMI是非常轻量级的,没有那么多专业术语,适合软件工程师个人学习,我在这里推荐大家有空学习一下。

继续阅读