精益管理的思想起源于丰田公司,归纳起来精益思想是在创造价值的目标下,通过改良流程不断地消除浪费。现已被广泛用于生产制造管理,但用于IT软件项目产品开发的实践尚属凤毛麟角。
不久前在广州,笔者参加了一家软件公司主办的关于软件项目开发的高层研讨会,其间有两个问题讨论非常热烈,值得与大家分享。第一个问题是:“有多少人的工作跟项目开发管理相关?”大部份的人举起了手。但第二个问题是:“有多少人了解软件项目开发精益管理的方法?”举手的人就寥寥无几了。我们看到这个讨论的话题时,许多人发出了一种会心的微笑,在笑容的背后感到这又可能是一个外行人指导和领导内行人的炒作话题吧。但经过大家的研讨,发现在做IT软件项目开发的时候,也应该跳出本行业局限的眼光,看看外面其它行业的思想和方法,从中吸收有益的精华。
精益,是一种思想,一种哲学,一个方法论,其精髓是拒绝浪费。我们IT项目开发学习的不是“精益生产”的形式,而是其精髓思想。这种思想,不仅可以用于生产,也可以渗透到IT软件项目开发中。在研究会上,我们讨论到一个借鉴了精益思想的IT项目开发是一个系统的观念。一般来说,IT软件项目精益开发系统包括三个要素,即人、流程和技术。以借鉴到IT软件项目精益开发来说,就是需要为IT项目的开发提出一系列的流程,培养技术队伍,运用最有效的技术和工具。同时,必须注意要把这三个方面整合在一起,成为一个协调发展的系统。
例如在人的方面,精益思想强调如何将每个员工的能力发挥到极限,认为不应该只是简单的管理人,而应该去培训人。如果不能将管理的重点放在员工的培养上,就不能理解精益生产的真理。同时,精益生产的另一个精髓是管理过程,精益思想不是着眼于结果,而是强调过程。“只对结果管理”的管理思路的结果是员工对找借口、为结果辩护很在行,对数据、报告很在行,但软件项目成果的质量只有在全过程都有效控制下才能得到根本的保证。
一. 建立顺畅的开发流程
确定高效的IT软件开发流程,是精益思想开发的第一个精髓。
如何创建一种高效、顺畅的软件项目开发流程?首先,精益思想提出强调“建立健全研发流程“。所谓精益软件开发思想包含了一整套的方法论和实施方法。精益软件开发将精益生产中持续改进的概念引入到软件开发过程之中,实现对软件开发过程进行精益管理。实现精益软件开发的核心在于:建立一套完整的开发流程,然后建立一套测量流程的手段,不断持之以恒地改善流程,不断优化,坚持不懈。
不同的企业因定位不同,对于研发的价值理解也是不一样的,他们的流程和实现流程的工具肯定是完全不一样的。但我认为软件开发人员应当向丰田公司的产品开发流程学习和借鉴。目前,丰田内部的精益开发步骤是这样的:首先,在客户需求的基础上,对工作进行分辨,区分出哪些部分是能够满足客户需求的有效部分。如果工作中的某些流程生产出的结果并不能满足客户的需求,便是一种浪费,就不是增值的流程和操作。因此,精益开发首先需要了解客户需求。此后,需要对工作流程进行细化分割,把流程分成更细微的步骤,并保证每个步骤都能满足客户的需求,增加价值。
其次是流程的标准化和可操作化,这是精益思想流程的基础之一。在软件开发过程中,每个企业的现状不同,因此产品开发的方式也不同。但精益思想提到如何关注研发流程,让管理流程“落地”,并要让流程规范起来,不再是像过去把好流程放在纸上,靠人去管理。固化和标准化开发流程就是一个方式。
二.引入首席项目主管负责制
精益软件开发的第二个精髓,是将合适的人员安排在合适的岗位上,建立一个有效的软件项目开发