话题(七)过程改进的实质就是IDEAL(发言人:杜普利)
自己从2000年起,接触CMM理论,到认识和实践这个过程改进的模型,算起来也有9年多了,最初是在2001年,在一家物流软件公司实施CMM2级,背景是这家企业想通过规范化架构一个软件企业,让这个企业具有一种可持续发展的机制,被投资者认可,达到海外融资或吸引风投的目的。本来应该是很不错的,如果融资成功,那么企业有了更好基础,也能更好的完善和发展企业的业务,所以在那时候认真的学习和研究了软件能力成熟度模型CMM,想要为企业搭建一个铁打的营盘和能够不断发展的机制。但是不巧赶在2002年的网络泡沫破灭之际,最后这个构想没有成功。(从我看来,我们进行过程改进是想为一个企业建立一种持续改进的机制和思想,能够让企业不断地学习、前进和成长,是授人以渔。)
后来,自己有机会进入了日本NTT DATA,当时是本着学习日本企业质量管理的方法和实践去的,没想到一作就是7年,主要是公司能够给你提供这样一个平台让你去实践这样一个模型。另外,我是航空出身,记得当时我的师傅给我说,我们这一辈子就干了一个飞机型号,当时真的有些不理解。现在有些明白了,要真正深入的研究和学习一门学科,不是简单的看几本书就可以的。在日本公司里可以看到了有许多的三、四十的人还在做业务,在做开发,这在国内中小型企业中都有些不可理解,可是从事企业信息化建设多年以后,大家都发现信息系统的业务领域也是一样,一个供应商没有深厚的积累怎么能够开发出符合客户需求的软件系统呢。(积累很重要,过程改进也需要积累,只有量变才能质变)
在这个期间我们经历了CMM 2级,3级,CMMI 3级、4级、5级,从头走到尾你会发现,在开始时你认为不太重要的一些PA、实践,会成为后续持续改进的一个巨大障碍。举个例子:早期在收集数据的时候,考虑到目前现状等约束条件,可能没有严格的按照软件工程的过程来划分数据收集的粒度,或者大家都认为这些规定在目前这种成熟度下没有必要或者也暂时看不到效益,所以在制定标准和规则时迫于现状有所取舍,可是到后来想量化建模,分析和改进过程中的问题,发现却没有支持依据。形象的说就是盖楼没有打好地基,到后面你的高楼大厦就盖不起来,或者说你的大楼就有危险。现在不是流行一句话:出来混,迟早都是要还的,我们做项目,做过程改进改进也是一样,在早期省下的东西迟早要你还的,而且按照质量成本的理论,还得越晚,代价越高。(从这个意义来说,CMMI他是一个全局性,系统性的东西,需要我们站在更高的角度来研究和理解他,关键是要转变思想,要有前瞻性)
到了CMMI 4级,一切基于数据,要量化的分析和研究问题,要建立过程模型。原来建立好的过程和标准也需要根据需要进行细化升级和优化改进。简单来说CMMI 2级中有PP、PMC等,到了3、4、5级还是同样的PA,如果你还按照原来的思想和观点来执行就可能达不到这个成熟度级别的要求,这时候要求你得站在相应级别的层次和观点来理解和执行PP、PMC等。不是说在开始时建立了项目管理的流程和标准,后面只是简单的增加几个PA就达到另一个成熟度级别了。用武侠中的练功打个比方,在你功力很浅的时候,你使出来的武功可能威力很小,可是在你功力大增之后,使用同样的武功,效果是不一样的。比喻可能不恰当,但是我要说的是,在不同成熟度级别,对同样问题的理解和认识是不一样的,当然处理手法也是有区别的,这也说明CMMI模型在任何地方都要体现出持续改进的思想。(我的观点,任何管理理论和模型,只要你能自成一体,自圆其说就可以,学习国外的模型是要建立在自己的文化背景和理论体系之上的)
到了CMMI5级,我认为这只是过程改进的开始,其中CAR和OID就是具体执行改进的手段,分析根本原因,采取措施防止错误的在发生;在到达一定的阶段需要通过技术革新来进行突破;这种思想和手法应该是过程改进最基本的思路,所以我今年在一个国内的小型企业中进行过程改进时,我对CMMI的各级PA做了些调整,其实在一开始就应该宣贯CAR和OID的思想。
以上,主要是谈我自己在CMMI实践中的一些感受。
对于过程改进,我非常认可申剑飞提到的:过程改进的实质就是IDEAL。不仅仅是软件,那个领域都存在这种思想,先是定位分析问题,然后解决问题,到优化过程,最后Best to Best,就是这么一个过程。多年的QA实践,会让人在自己日常生活中不自觉的使用它的一些方法,比如在买房,买车等人生重大选择时的DAR。开车路线的选择,优化等。其实做的深了,你会发现很多问题是相通的,不论什么过程改进模型,其实质就是IDEAL循环,或者简单的说就是PDCA,只要你这样做了,你的管理就上去了,改进也就水到渠成。记得有位教授说过,所有的管理无外乎三件事:一,把自己想到得写下来;二,按照你写的去做;三,把你做过的记下来做做总结。我在企业做项目管理时也经常这样来教育员工,一就是计划,二就是执行,三就是改进。只要我们这样做了,就是过程改进,不一定非要是CMMI。
另外,前面居教授说的我们是一个有着悠久历史和优秀文化的民族和国家,人们做事是不能脱离你的背景和文化的。现在我们在推行过程改进,是想寻求一条适合中国软件企业发展的道路。在10年前,我们没有积累,没有经验的条件下,我们学习引进国外的模型,理论,那么通过10年的实践,我们应该通过积累,总结出我们自己的模型和理论,然后让它的我们的环境里实践,让他持续的改进和完善。
另外,我今年在国内中小企业的实践过程中发现,虽然企业都认识到了,做企业架构很重要,他是企业长期发展,持续盈利的一个基础,但是国内的市场环境,客户环境等方面很存在很多的现实情况,对目前由乙方(软件开发商)自身发起的这种过程改进有很大的障碍。我们做对日外包可以实行过程改进,首先是因为客户认可质量成本,而且大家都认识到这是对双方都有利的双赢局面,所以客户他也会给你这个时间和成本进行过程改进,但是国内甲方现在还没有到这个成熟度,虽然,经过了近10年的信息化建设,甲方为此也吃了不少亏,认识到了目前的开发管理模式对产品质量的保证存在问题,但是还没有具体的措施来改善这个环境,可能这个问题比较大,需要从更高层面来推动这个事情。
不过目前过程改进的实施在企业中越来越重视,是因为大家发现有很多问题,并不仅仅是依靠人为地方法就能够解决的了,尤其是在企业想长远发展的时候,而其甲方现在也开始关注你的过程的,不是简单的让你最后给出个结果就行了。但是软件行业不同于传统行业,他有自己的一些特点,针对软件行业的过程改进,我引用王钧秘书长最开始提到的几个概念和解释:软件过程管理的几大要素:人,变化,和过程,以及目前的现状和矛盾,这些很麻烦,它涉及到很多方面,不是简单的通过一个模型和理论能解决的。如何在企业范围内解决好这些问题才是关键。
止于至善的博客 http://tyou1215.csai.cn/