您现在的位置:   首页 >> 新闻中心 >> 行业动态

当软件开发遇到“零缺陷”

发布人:管理员 发布时间:2021-11-14 74 次浏览

零缺陷是质量大师克劳士比提出的质量管理理念。组织实施零缺陷可以追求免费质量和零缺陷产品的目标。

自从接触到零缺陷思想以来,作为GJB我一直在思考,如果把零缺陷的思想用于软件产品的质量管理,那么软件的开发效率会有多大的提高,开发和维护成本会有多大的降低。

最初,我考虑将零缺陷质量管理思想中的防错部分应用到软件开发中——建立软件质量问题数据库,并在每个软件开发之前获得类似的软件/模块开发过程中的质量问题及对策在软件需求开发设计阶段采取措施避免之前的质量问题。经过几轮迭代,开发出来的软件产品不能实现零缺陷吗?

这个想法有点简单。事实上,零缺陷质量管理已经有了成熟的实施方案,我将其简化为以下步骤:

  1. 意识教育

无论多么NB所有的管理思想都需要真正被接受才能发挥作用。否则,这些管理制度只能是看起来很美。因此,要使零缺陷的思想在软件开发中发挥作用,首先要通过质量宣传和教育,让软件开发和管理者真正支持它。

  1. 政策支持

组织必须对促进零缺陷在软件产品质量中的应用给予政策支持。建立相应的管理制度,配套相应的奖惩措施,支持人才培养和工具引进。

  1. 目标设定

组织应明确软件“零缺陷”的目标,比如第一年测试Bug密度达到5Bug/kLOC第五年达到1Bug/kLOC……

  1. 第一次把事情做对

在软件开发过程中,大力推进第一次把事情做对。包括:获取类似的历史软件/模块开发的经验教训避免了整个软件开发过程中的类似问题;采用各种有效方法开发和确认需求,确保需求达成一致理解,减少后续需求变化;做好软件架构设计,确保其健壮、灵活、可扩展;软件详细设计简单、清晰、易于实现和测试;代码编写符合规范,单元测试、集成测试和系统测试有效。

  1. 持之以恒

“零缺陷”是质量管理追求的目标,它不可能一蹴而就。“零缺陷”的实现需要在项目中多次迭代,长期坚持才有可能实现。

贵在坚持!

但即使短时间内达不到零缺陷,通过防错、第一次把事情做对等方式,软件开发实施零缺陷仍能显著提高软件质量。

PS:KK在《失控》中,描述了一个软件零缺陷的场景,即首先确保构成软件的最小单元是正确的,然后由正确的最小单元集成,然后确保集成的大单元是正确的……这样重复,直到最终的软件产品集成,这个最终的软件产品必然是零缺陷。

这正是:

软件遇到零缺陷,质量提高可见

需要组织支持,坚持迭代多练习

参考书目:软件质量保证与管理,作者:朱少民,出版社:清华大学出版社

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进工作,创建软件工程之思微信公众号,共享软件工程之思GJB5000、CMMI软件工程的知识与感悟。现在致力于GJB5000咨询和软件流程改进和软件工程能力提高的研究工作。