20世纪70年代,IBM 公司的麦克·范刚(Mike Fagan)建立了软件质量审查方法,为IBM公司节约了大量成本。瓦茨·汉弗莱(Watts S.Humphrey)认为在“范刚评审”的基础上,改变了项目的工作过程,可能会改善项目组的绩效[1]。
汉弗莱调查了大量的军用软件项目,发现软件项目的失败主要不是技术问题。典型的原因是没有计划,没有项目跟踪和不能按计划管理。
汉弗莱认为生产过程与最终产品质量之间是密切联系的:“如果开发过程处于一种统计控制之下,那么通过对过程的改进,才能持续地获得更好的结果;如果不以统计的方法对过程加以控制,就无法维持这个过程。”
汉弗莱用成熟度框架描述了软件企业的5个成熟度等级(见9.2.4节),表述了从一级到另一级要具备的基础,从而能够让软件团队连续改进自己的过程能力。
汉弗莱的开创性工作,起初并没得到软件理论学者和工程师们认同,因为人们习惯上认为软件开发的核心是编写程序——例如代码生成和自动测试才是根本出路,虽然1968年就提出了软件工程。对此,汉弗莱借用中国的一句谚语给予回答“如果没有路,任何路都可以走”。十年中,其创立的过程理论和实践方法,推动了美国软件产业的发展,也得到了全球软件产业界的认同和仿效。2003年,汉弗莱获得了美国国家技术奖(图9-4)。
图9-4 时任美国总统给瓦茨·汉弗莱颁奖
汉弗莱建议软件组织(或企业)应通过下面的步骤来改进其软件能力[2]:(www.xing528.com)
(1)理解当前开发过程或其他过程的状态;
(2)描述出理想过程的远景;
(3)按优先级顺序列出一系列需要进行的过程改进活动;
(4)为实现这些活动制定出一个计划;
(5)为实施这个计划承诺相应的资源;
(6)重复上述步骤。
那么,如何知道软件组织的当前状态呢?就需要用能力成熟度框架,帮助软件组织评估当前的状态(水平),然后确定需要改进和下一步前进的方向。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。