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

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

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

最初我考虑的是把“零缺陷”质量管理思想中的“防错”的部分应用到软件开发中——建立软件质量问题数据库,每个软件开发之前都从中获取类似软件/模块开发过程中出现的质量问题及应对措施,在软件需求开发和设计阶段就采取措施规避之前出现的质量问题,那么几轮迭代下来,开发出来的软件产品不就可以实现“零缺陷”了吗?

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

  1. 意识教育

无论多么NB的管理思想,都需要被人真心接受才有可能发挥作用。否则,这些管理制度就只能是“看上去很美”。所以,要让“零缺陷”的思想在软件开发中发挥作用,首先就是要通过质量宣传和教育,让软件开发和管理人员真心拥护它。

  1. 政策支持

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

  1. 目标设定

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

  1. 第一次把事情做对

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

  1. 持之以恒

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

贵在坚持!

但是,即便短时间内无法达到“零缺陷”,但通过“防错”、“第一次就把事情做对”等方式,软件开发实施“零缺陷”仍然可以显著地提高软件质量。

PS:KK在《失控》中描述了一种软件零缺陷的场景,那就是首先确保构成软件最小的单元是正确的,然后由正确的最小单元进行集成,再确保集成后的大的单元也是正确的……如此反复,直到集成最终的软件产品,那么这个最终的软件产品必然也是“零缺陷”的。

这正是:

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

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

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月20日
下一篇 2021年8月22日

相关推荐