轻量级过程改进(Light-weight process improvement,LPI)是一种针对中小型团队软件研发过程中普遍存在的重技术轻管理、研发管理缺乏规范、过程改进理念淡薄等现状和问题而整理的一种“软件过程改进方法和规范”,有众多轻量级过程改进域组成,主要对中小型团队持续地改进其软件过程能力提供一些参考,内容组织上尽量保持其通用性,但个人水平和经验有限,很多改进域可能只局限于特定团队和场景,需要大家根据各自团队的现状做裁剪和扩充。
一.轻量级过程改进
轻量级过程改进参考了目前业界主流研发管理理念和模型,包括PACE、IPD、CMMI、SCRUM、XP、LEAN以及PMBOK中的内容,个人认为这些理念和模型都有其独到之处,但也各有其局限性,如PACE和IPD主要面向大型团队且需要与团队绩效等组织层面工作模式紧密结合,中小型团队通常不适合;CMMI模型只是回答了“达到XX级别的软件过程应该长什么样”这个问题,并没有说明“怎么做才能达到XX级别”,而且本身也是过于复杂,中小型团队实施过程需要精简和剪裁;SCRUM模型看似简单,但对团队要求太高,要想达到理想效果难度偏大;XP偏重于工程实践,在管理理论体系上不够完善;LEAN目前还处于理论体系研究和完善阶段,缺乏具体可操作的模式和工具;PMBOK则偏重于通用性的项目管理,而不是软件研发过程的管理。
初创型团队或亟需过程改进的团队通常不建议也无法照搬上述模型中的任何一个,而需要结合团队实际情况博采众长和集思广益,这也是LPI的思路。这里的轻量级的含义就是我们的做法是尽量简单以确保能够得到团队的认可并进行广泛推广,我们的目标也不是能够做到100分,而是一个从不及格到60分的过程,如果我们哪一天能够站在60分的角度去看问题了,那可能我们就会采用其他的模型来帮助我们做更高层次的过程改进。
二.改进域
轻量级过程改进不是一个完整模型,也不是一套解决方案,关注点在于“改进”,即从研发团队中存在的问题出发提出解决问题的方法论和实践模式,而问题来自于研发团队的方方面面,个人梳理这些问题并把它们整理成五个大类,分别是:
- 产品管理:涉及产品设计的战略、平台和规划管理,以及产品调研、需求分析等方面
- 项目管理:涉及从项目启动到项目验收的全过程,主要把握范