质量的真相

克劳士比的《质量免费》被人奉为圣经,很多人开口闭口都说质量,很多项目实施后,有些成功了,有些却失败了,这需要我们仔细、深入研究的各种建议,探讨其深层次的原因,而不是一味的接受。

一、质量成本

克劳士比的一个核心思想就是质量免费,而我们知道,质量活动,总是要有成本的,这个成本称为质量成本,而质量免费的理念其实挺简单,就是通过质量活动而节约的成本,多于质量成本,这样子,质量提升了,却不需要花成本。

如果读过《基业长青》,我们就知道,常青树的企业,孜孜不倦要做的一件事,就是节约成本,想办法从各个环节,节约成本,提升企业的竞争力。那么既然有种方法,可以节约成本,而且还提高质量,那么何乐而不为呢?

问题的关键是,这件事有这么简单吗?

《质量免费》中,把企业分为五个阶段,并给出了不同的质量成本,下面简单列一个。

阶段

质量成本占营业额的比例

不确定期

报告:未知数 实际:20%

觉醒期

报告:3% 实际:18%

启蒙期

报告:8% 实际:12%

智慧期

报告:6.5% 实际:8%

确定期

报告:2.5% 实际:2.5%

上表想告诉我们两件事:

1、 随着对质量管理成熟度越来越高,所花的质量成本越来越低

2、 质量成本不好统计,可能统计出来的是3%,实际上却可能是18%

好了,现在问题来了,我们担心的是,我们显著提到前期的质量成本,能否最后节约成本,做到质量免费?针对软件开发,我们具体考察下面几种行为:

1、 要求代码做到100%评审

2、 所有项目做结对编程

3、 要求项目必须做自动化测试,覆盖率要求达到80%以上

我们只要稍为考虑一下,就知道上面这些措施不是必然产生好的结果,很可能付出很沉重的成本,带来的成效却有限,所以我们首先要深刻理解《质量免费》中的理念,免费才是关键的,所做的活动,必须能节约企业成本,为企业带来更高的利润,否则就不要实施这些质量措施。

二、第一次就把事情做对

这句话太出名了,几乎每个人都知道,而且有很多数据支持,比如说,软件中的一个Bug,在开发的时候发现,修复可能只要几分钟,在测试阶段,可能变成几小时,在最后生产环境被发现,可能变成几天等等。这些都证明,第一次就把事情做对,成本是最低的。

问题是,怎样才能做到一次把事情做对呢?是加强质量意识宣传,还是做各种质量审计?是做质量回溯、惩罚责任人,还是赞赏优秀者?

我们考察这样两个员工,员工A做事很快,一天的事情,半天就做完了,不过做事比较马虎,容易出错;员工B是个慢性子,一天的事情,总是要拖两天才完成,不过做的事情比较可靠。假如这两个员工,让你选一个,你会选哪个?我觉得两个都有可能,关键是企业需要怎么样的员工。

同样的,至于怎么第一次做事,事情要做到多对才够?我们要看端到端的效率,比如说,要不要做结对编程,要不要做100%的代码评审,我们要评估端到端的效率,一个软件从开发,到维优等,端到端的效率,怎样才是最高的,这种做法,就是第一次把事情做对。

三、芭蕾舞和曲棍球

质量活动是芭蕾舞,不是曲棍球,原因很简单,芭蕾舞是有计划,有排练的,而曲棍球很多结果都是无法预知的。中国古语说:预则立,不预则废。

套用在质量改进上,我们同样要遵循这样的原则,比如说,我们需要做什么计划,达到怎么样的预期效果,这就是芭蕾舞;如果我们只是要求在PBC上要求大家写上质量目标,年终以质量为考核,那就是曲棍球了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 敏捷开发之“燃尽图之谜”

    我们在进行敏捷开发的时候,一般都要画燃尽图,在我们理想的思维里面,燃尽图很明白易懂的,而实际使用的时候,你慢慢发现不是这么一回事,这究竟是怎么回事呢?

    源哥
  • 基于linux的嵌入IPv4协议栈的内容过滤防火墙系统(8)-附录

    0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用一种通常的闭合端口

    源哥
  • 屏蔽鼠标右键,F1帮助和常用快捷键

    源哥
  • python Queue模块

    Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小...

    周小董
  • Python -- Queue模块

    最近的一个项目中在使用grpc时遇到一个问题,由于client端可多达200,每个端口每10s向grpc server发送一次请求,server端接受clien...

    py3study
  • java 并发模型

    根据阅读注释和跟踪父类Queue源码,我们得知,BlockingQueue的方法主要分三类:

    平凡的学生族
  • 进程间通信-Queue

    skylark
  • Python 进程之间的通信 - 队列Queue

    Process并不能像线程那样共享全局变量,那么它们之间如果有传递值的需求,那么该怎么办呢? 对于这种需求,操作系统提供了很多机制来实现进程间的通信,例如队列...

    Devops海洋的渔夫
  • 环信SDK更新:新增多人音视频会议等功能

    本次更新主要内容:Android增加是否使用FCM推送的接口,添加语音会议功能;ios实现不同模式的实时语音会议功能,添加动态更换对方实时视频显示页面的功能。 ...

    BestSDK
  • 队列的基础操作

    队列是一种特殊的线性表,只允许在表的前端进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的...

    Enterprise_

扫码关注云+社区

领取腾讯云代金券