谈"零缺陷"
在刚参加工作初期的一次关于质量的培训中,第一次听到“零缺陷”这个词懵懵懂懂,当成一道概念题给记下。今年重读《质量免费》时对与零缺陷的部分始终心存疑虑,最近读《第一次把事情做对》对“零缺陷”有更详尽的解释,我也开始相信“零缺陷”的意义与可行性。
观念的价值
我一直对于鸡汤与正能量心存疑虑,觉得很多只是意淫的产物,编造或者以讹传讹一些无法求证的故事。即使在《第一次把事情做对》这本书中也有不少这样难以令我信服的故事。但经过对身边事物的观察,对工作经验的总结,对历史事件的解读,我认可观念可以像一颗种子会长成苍天大树产生巨大影响。
02年中国男足打入世界杯,当时有一本畅销书印着教练米卢的头像,书名叫《态度决定一切》。少年的我当时觉得这个书肯定有问题,如同选择题中出现“一切”的都是错误的,当时没读这书如今也找不到这本书了。如今想起或许真有相关的因素。
再引用《第一次把事情做对》书中的一个段落来阐述,观念与思想对于真实世界的影响是具体的,而不停留在文字与口头
任何一支部队都有它的传统、气质、性格。这种气质和性格往往是这支部队组建时,首任军长的性格和气质决定的,他给这支部队注入了灵魂。从此不管岁月流逝,人员更迭,这支部队灵魂永在。事实证明,一支具有优良传统的部队,往往具有培养英雄的土壤,英雄(或者优秀军人)的出现往往不是个体形式,而是群体的。他们收到同样传统的影响,养成了同样的性能和气质。
我理解的“零缺陷”
我之前一直认为“零缺陷”是一个乌托邦,是一个遥远的目标,一个我们需要付出巨大努力,不断前进不断逼近的终点。有不少程序员肯定抱有类似的想法,我们无法想象一个没有bug的程序是如何写来的,伟大如上帝创造世界都有不如人意的bug。
这次阅读我发现,零缺陷是一种观念,一种态度。
了解历史与起源这就比较好理解,提出“零缺陷”的克劳士比出生于医学世家,而医生受到的要求是百分之百,零偏差零,失误的,医生的失误都可能关系生死。带着这样的背景与观念,进入工程师的世界,难怪能掀起质量革命。
再引用书中的一个段落,说明不同的观念会为所有活动垫下一个基调。
墨菲法则说凡事如果可能出错,就一定会出错。如果我们容许错误发生,就真的会导致错误的发生,而且还会得出”错误难以避免“的结论。”第一次把事情错做对“告诉我们,错误是可以避免的,只要我们坚信第一次就可以把事情做对。
我一直特别在意工作效率的事情,经常折腾各种软件工具,甚至经常自己写脚本/工具,让工作更顺手,自动化重复劳动,节约个人与团队的时间。而今年开始意识到一个最大提升工作效率的关键点,一次把事情做对,不要返工。就是这么简单的逻辑,常常导致工作中的债务堆叠,进而浪费大量时间精力。有时甚至是以时间紧人员少为借口,交付一个有质量缺陷的事,然后引入更多的工作量,想来十分可笑。
践行零缺陷
上文提到零缺陷是一种态度,在《质量免费》多次提到,零缺陷不是口号、不是鼓励方案。在践行时如何避免变成瞎逼逼,我理解的关键点在于具体的要求。这要提到克劳士比质量体系中另一个关键点质量就是符合要求,这里不具体展开。我的思路比较简单,越具体的要求,越好衡量是否达成,越好预防缺陷产生。这里引用一个SMART目标原则,更全面的解释具体的要求是什么。
- S(Specific):目标必须是具体的,要对标特定的工作指标,不能笼统;
- M(Measurable):目标必须是可衡量的,衡量的指标是数量化或者行为化的,验证这些指标的数据或者信息是可以获取的;
- A(Attainable):目标必须是可实现的,在付出努力的情况下可以实现;
- R(Relevant):与其他目标有一定的相关性
- T(Time-bound):目标必须有明确的截止期限
参考资料
谈"零缺陷"的更多相关文章
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- 从I/O复用谈epoll为什么高效
上一篇文章中,谈了一些网络编程的基本概念.在现实使用中,用的最多的就是I/O复用了,无非就是select,poll,epoll 很多人提到网络就说epoll,认为epoll效率是最高的.单纯的这么认为 ...
- 浅谈我对DDD领域驱动设计的理解
从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品 ...
- 谈一下关于CQRS架构如何实现高性能
CQRS架构简介 前不久,看到博客园一位园友写了一篇文章,其中的观点是,要想高性能,需要尽量:避开网络开销(IO),避开海量数据,避开资源争夺.对于这3点,我觉得很有道理.所以也想谈一下,CQRS架构 ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
- 浅谈Java的throw与throws
转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...
- 浅谈SQL注入风险 - 一个Login拿下Server
前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
- 浅谈命令查询职责分离(CQRS)模式
在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体.在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能 ...
随机推荐
- vim 模式查找
1. / 正向查找, ?反向查找 2. \v 激活very magic搜索模式,撰写正则表达式更接近于perl的正则表达式,大多数字符不需要进行转义 3. \V 激活noVeryMagic模式,按字符 ...
- glob (programming) and spool (/var/spool)
http://en.wikipedia.org/wiki/Glob_(programming) In computer programming, in particular in a Unix-lik ...
- List集合的遍历方法
估计你永远都不会忘记这三个方法了...... public static void main(String[] args) { //超级for循环遍历方法 List<String> lis ...
- Hibernate学习六----------CRUD
© 版权声明:本文为博主原创文章,转载请注明出处 实例 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0 ...
- VTK学习之路——画画我的小苹果
数据集主要由描写叙述数据集几何形状的点集数据及构成数据集的单元构成,因此构建数据集的主要任务就是确定点集和构建单元,本演示样例程序构建了一个苹果的实体,然后绘制苹果.演示样例程序运行的过程例如以下: ...
- Spark源码分析之三:Stage划分
继上篇<Spark源码分析之Job的调度模型与运行反馈>之后,我们继续来看第二阶段--Stage划分. Stage划分的大体流程如下图所示: 前面提到,对于JobSubmitted事件,我 ...
- React系列之--props属性
版权声明:本文为博主原创文章,未经博主允许不得转载. PS:转载请注明出处作者:TigerChain地址:http://www.jianshu.com/p/fa81cebac3ef本文出自TigerC ...
- SERVICE_STATUS结构各成员解析
在编写Windows服务的时候,需要调用API函数::SetServiceStatus()向服务控制管理器(SCM)提交更新当前服务的状态信息,其第2个参数为指向SERVICE_STATUS结构的指针 ...
- ASP.NET动态网站制作(9)-- JQ(1)
前言:从这节课开始讲jQuery的相关内容,这节课主要围绕jQuery的选择器展开. 内容: 1.jQuery是一个优秀的js框架,目前企业里大多数都是用jQuery(以下简称jq).jq是对js里一 ...
- JS常用方法手记
1.判断arr数组是否含有元素str,没有返回-1 arr.indexOf(str) 2.遍历arr数组,k为键,v为值 arr.map((v, k) => { return;}) 3.arr数 ...