技术开发 频道

为什么需要软件过程改善?

    从定性管理到定量管理

    在古代,人们在描述距离的时候,通常会用“不远”,“较远”,“很远”,“遥远”,“万仞”等表现。

    可是,这样的说法是比较模糊的,不同人听了,不同场合听了,理解会不一样。

    但是,自从定义了“米”的单位之后(1米等于通过巴黎子午线的400万分之一),人们用米或者千米(公里)来描述。南京到上海是300公里,南京到北京是1200公里。这样描述的话,不管是谁听了都很清楚到底是多远了。

    100年前,著名的英国物理学家开尔文(Kelvin)说了如下的话:如果你能够测量你所说的对象,并且使用数字表示出来,这说明你知道了这个对象;但如果你无法测量,你无法使用数字来表示,这说明你的情报是贫乏和无法满意的。这可能是情报的开始,但是,在你的内心,它决不可能达到科学的层次。

    这句话在CMMI界广为流传,被人们作为定量过程改善的意义的佐证。开尔文的话主要是针对自然科学而言的,如果无法用数据来描述自然现象,当然无从谈起自然规律了。在软件开发领域,固然不需要像自然科学那样精确,但是定量化的描述是非常重要的。

    美国的戴明(Deming)在日本名气要比在美国还大。戴明战后来到日本,指导日本企业进行品质改善,促进了日本战后工业品的品质提升。戴明的基本观点就是基于数据进行全面和持续的品质改进。

    戴明说:In God We Trust,All others Bring Data。前半句“In God We Trust”早就印在了美国的钞票上,深入人心了;戴明巧妙地通过这样的句式说明了数据的重要性。

    美国人在80年代被日本的工业品打得手足无措的时候,美国的NBC(有线电视网)挖掘出了戴明,并在采访中发出了“If Japan Can,Why Can't We?”的感叹。

    软件开发也是一样,没有数字化的描述,准确把握开发状况是很困难的。

    以测试工作为例。测试者汇报:测试工作很快就要结束了。测试者的意思是:计划的测试用例全部测试完了。但是,管理者理解为:计划的测试用例测试完了,并且bug也全部修正了,并且还进行了回归测试。

    这就是由于没有用准确的数字来描述开发状况,结果导致理解的分歧。而这种分歧只会到下一个检查点才能发现。可是那个时候发现也来不及了。

    从“没有软件过程”到凭主观感觉(Subjective Feeling)的“定性的软件过程”是软件过程改善的第一次飞跃。

    从“定性的软件过程”上升到凭可观数据(Objective Data)的“定量的软件过程”,是第二次飞跃,而且是质的飞跃。

    目前国内的大部分公司都处于第一飞跃结束,迷惘于如何开始第二次飞跃的阶段。

0
相关文章