什么是软件质量管理的底层逻辑?
原创 朱少民 软件质量报道 2021-12-10 08:19
整个软件行业发展很快,追求快速迭代、快速发布,但速度也不能无限放大,而且当竞争到一定程度时,相同的产品或类似的服务充满了整个世界,人类一定是选最好的产品/服务,我们终归要回到原点。
当一个机会来临的时候,我们常常研究如何用一套策略比别人更快的抓住机会,如何比别人跑得快去抢占市场。
但是,最终我们还是要靠产品的品质取胜。我还是乐意再用一次雷军的一张slide,从而进一步说明有必要讨论:什么是质量管理的底层逻辑。
— 1 —
什么是“质量”?
说起质量,大家似乎都比较熟悉,但要让你说清楚质量,你不一定能说清楚质量,因为不是简单的好与坏。
随着社会生产力的进步和人们认识水平的不断深化,人们对质量概念的认识也在不断地更新和发展。可以简单地介绍一下质量认知的演化:
质量1.0——符合性质量的概念:在上个世纪,传统的质量概念基本是指产品性能是否符合技术规范,也就是将产品的质量特性与技术规范相比较,以“符合”现行标准的程度作为衡量依据,“符合”的程度反映了产品质量的一致性。如果质量特性处于规范值的容差范围内,即为合格产品或质量高的产品;超出容差范围,即为不合格产品或次品,这就是所谓的“门柱法”(Goalpost),亦即符合性质量控制。
质量2.0——适用性质量的概念:但对于高科技和大型复杂的产品,符合性质量控制已不能满足质量管理的要求,于是世界著名的美国质量管理大师朱兰(Joseph M. Juran)提出了产品的质量就是适用性(Fitness for Use)的观点。所谓适用性就是产品在使用过程中满足客户要求的程度。让客户满意,不仅满足标准、规范的要求,而且满足客户的其他要求,包括隐含要求。而且,质量从“符合性”发展到“适用性”,使人们对质量认识逐渐把客户的需求放在首位。
质量3.0——广义质量的概念:朱兰博士对质量的定义逐渐演变为国际标准化的定义。国际标准化组织总结质量的不同概念加以归纳提炼,并逐渐形成人们公认的名词术语,既反映了要符合标准的要求,也反映了要满足客户的需要,综合了符合性和适用性的含义。ISO9000系列国际标准((2000版)中关于质量的定义:质量是一组固有特性满足要求(明示的、通常隐含的或必须履行的需求或期望)的程度。ISO 9000系列标准强调质量:
以客户为关注焦点,以增强客户满意为目的,确保客户的要求得到确定并予以满足;
提供满足客户和适用的法律法规要求的产品;
理解并满足现有及潜在客户和最终使用者的当前和未来的需求和期望,以及理解和考虑其他相关方的当前和未来的需求和期望;
持续改进。
1988年,泽瑟摩尔(Zaithaml)从客户角度提出了客户感知价值(Customer Perceived Value,CPV)理论,总结出感知价值的四重含义:
价值就是低廉的价格。一些客户将价值等同于低廉的价格,表明在其价值感受中所要付出的货币是最重要的。
价值就是客户想从产品中所获取的东西。与关注付出的金钱不同,一些客户将把从服务或产品中所得到的利益看作最重要的价值因素。这实际上和经济学中对效用的定义是一样的,是对从消费产品中所获得满意程度的主观衡量。
价值就是客户付钱买回的质量。有的客户将价值概念理解为“付出的金钱”与获得的“质量”之间的权衡。
价值就是客户的全部付出所能得到的全部。一些客户描述价值时考虑的既有其付出的因素(时间、金钱、努力),还有其得到的利益。
对质量还有其它的理解,例如一致性,一致性越好,产品质量越高,产品之间的差异性也越小,6 Sigma由此而来。这种认知适合工业生产的产品,因为同样设计的产品会生产出几万、几十万甚至几十亿的copy,但这样的认知不适合软件产品,因为每一个软件产品都是不一样的,同样的产品copy却不会产生差异。
如果想进一步了解什么是质量,可以看看这些文章:
质量三问
完整诠释软件质量模型
新时代,重新认识质量与测试的价值
许多人傻傻分不清 “业务需求、用户需求和系统需求”
不得不谈谈农历新年首次质量大事故:GitLab丢失数据
— 2 —
什么是“质量管理”?
理解了什么是质量,下面就需要了解什么是“质量管理”。
在讲什么是质量管理前,先讲一个耳熟能详的故事:
春秋战国时期,有位神医被尊为“医祖”,他就是“扁鹊”。一次,魏文王问扁鹊说:“你们家兄弟三人,都精于医术,到底哪一位最好呢?”扁鹊答:“长兄最好,二哥次之,我最差。”文王又问:“那么为什么你最出名呢?”扁鹊答:“长兄治病,是治病于病情发作之前,由于一般人不知道他事先能铲除病因,所以他的名气无法传出去;二哥治病,是治病于病情初起时,一般人以为他只能治轻微的小病,所以他的名气只及本乡里;而我是治病于病情严重之时,一般人都看到我在经脉上穿针管放血,在皮肤上敷药等大手术,所以以为我的医术高明,名气因此响遍全国。”
要理解质量管理,我们需要和质量控制、质量保证一起来讨论,因为质量控制、质量保证是质量管理的基础,人们开始关注软件质量管理时,首先想到质量检查、质量控制,然后逐步意识到预防问题比事后发现问题更重要,从而形成质量管理的三个层次:
质量控制 ( Quality Control,QC) 是科学地测量过程状态的基本的方法。就象汽车表盘上的仪器,可以了解行驶中的转速、速度、油量等。
质量保证 (Quality Assurance,QA) 则是过程和程序的参考与指南的集合。ISO 9000是其中的一种,就像汽车中的用户手册。
质量管理 (Quality Management,QM) 才是操作的哲学,教你如何驾车,建立质量文化和管理思想。
为了更容易理解质量工作层次时,可以从另一个方面简单地阐述质量管理的四个层次为:
检查,通过检验保证产品的质量,符合规格的产品为合格品,不符合规格的产品为次品,次品不能出售。这个层次的特点是独立的质量工作,质量是质量部门的事,是检验员的事。检验产品只是判断产品质量,不检验工艺流程、设计、服务等,不能提高产品质量。这个层次是初期阶段,相当于“软件测试——早期的软件质量控制”;
保证,质量目标通过研发、设计和制造部门来实现,开始定义质量目标、质量计划,保证开发流程合理性、流畅性和稳定性。但度量工作很少,需求和设计质量还不明确。
预防,以预防为主,以过程管理为重,把质量的保证工作重点放在过程管理上,从产品需求分析、设计开始,就引入预防思想,面向客户特征,大大降低低质量的成本,相当于成熟的“软件质量保证”;
完美,以客户为中心,全员参与,追求卓越,相当于“全面质量管理”、“零缺陷质量管理”。
还可以参考这些文章,更好地理解软件质量管理。
测试,从哪里来,到哪里去?
软件测试的底层逻辑是什么?
Stop!质量可以评估,而不能度量
“世界上优秀的公司是如何进行质量管理的”系列报道之一:Google质量的三大支柱
一个万亿市值的公司是如何靠质量、仅仅靠一个好产品而快速崛起的?
— 3 —
质量管理的底层逻辑
根据上面今天对“质量”、“质量管理”的认知,我们知道,质量因客户而存在,质量就是客户的满意度,质量由客户判定,客户对产品越满意,意味着产品质量越好。质量管理就是围绕着客户去做工作,不断提升客户的满意度。
所以,从这个角度理解质量管理的底层逻辑就是:质量管理就是不断加深对客户的认知,识别客户、分析客户行为、刻画客户和洞察客户。
在“世界上优秀的公司是如何进行质量管理的”系列报道之三:坚持客户至上,亚马逊始终如一 一文中讲到一个Amazon的一个实践,在任何一个会议室中,总留一把红色的空椅子给客户,客户没来,但大家总想着客户就在身边,就在参与会议中。
即使对客户有很好的认知,你可能还做不出客户想要的产品,这时就需要构建能力来实现高质量的交付。从这个角度讲,质量管理的底层逻辑就是:质量管理就是构建交付高质量的能力,包括研发人员的技术能力、质量保障的流程、基础设施(流水线)能力等。
之前写了一篇文章:除了质量三问,如何应对质量管理5大灵魂拷问?这五大灵魂拷问,其答案是不是代表着五大质量管理的底层逻辑?
质量究竟有哪些价值?
质量的价值如何度量?
如何明确质量目标?
质量指标和业务指标如何衔接?
究竟如何能搞好质量管理?
例如,最后一个拷问的答案是:
从这里也可以看出,质量管理的底层逻辑就是用系统工程的方法来内建质量、预防缺陷、跟踪质量和解决质量问题。这也就是我们为什么我们编写《数字化时代软件质量工程白皮书》。
什么是软件质量管理的底层逻辑?相关推荐
- 软件研发效能的底层逻辑
原创 Test Ninja 软件质量报道 2021-12-24 07:48 最近两年软件研发效能很热,这也促使我去年发起了 全球软件质量&效能大会(QECon)但凡某件事太热,就很容易走火入魔 ...
- 读书 | IT人如何直击本质洞察底层逻辑?
[好书共读]| 作者/Edison Zhou 作为IT技术人,我们不仅要精进技术,也要在技术之外修炼自己的软能力.本质思考,是一种直击事物本质的能力,是思考"思考的方法",是一切思 ...
- 洞察设计模式的底层逻辑
简介: 设计模式是开发同学经常聊到的话题,也经常被用到实际的开发项目中,熟练的人可以做到信手拈来,不熟悉的人陷入苦思冥想中.笔者认为,不仅仅要掌握设计模式的用法,更要洞察设计模式的底层逻辑,只有那样, ...
- 软件工程质量管理体系要求_软件质量管理| 软件工程
软件工程质量管理体系要求 软件质量管理体系 (Software quality management system) A quality management system frequently me ...
- 【elasticsearch】 Elasticsearch集群规模和容量规划的底层逻辑
1.概述 转载:https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484628&idx=1&sn=666e41 ...
- 对话行癫:解密阿里云顶层设计和底层逻辑 1
几十个问题,万字长文,阿里云新任总裁行癫履新后首次出面与钛媒体独家深入讨论了一下阿里云对云计算未来的判断,深度解读未来阿里云生态战略,揭秘阿里技术委员会和阿里中台思想的原生思考.转载自钛媒体,作者:刘 ...
- 传统企业如何做数字化转型?弄懂这3大底层逻辑你就懂了
2022年传统企业发展的关键词,不是资本,不是股市,不是楼市,不是品牌,而是五个字,数字化转型. 但是碰到这五个字,传统企业又不敢转.不会转.不想转.究其根本,主要的原因是传统企业不了解数字化转型的底 ...
- 推广如何做网上引流?教你引流的底层逻辑
流量就是金钱,这句话每个接触互联网的人哪怕是不知道,但是也应该是有所感觉,每一个在网上疯狂获取流量的人,脑袋里面都有一个公式:流量=用户=金钱. 认真看完就可以上手实操,绝对的干货,并且兴棋博客还为看 ...
- 双十一峰值流量_“双十一”的九个底层逻辑:流量补刀、透支消费等
二十年前,现象级美剧<欲望都市>讲述了美国纽约曼哈顿四个单身女人的故事,在对年轻人的代际影响力上,鲜有能与<欲望都市>相媲美的.但日本电视剧<东京爱情故事>和中国的 ...
- Android虚拟机是以哪种方式实现的,底层逻辑又是怎样的?
前言 我进入 Androird 行业也有一段时间,目前负责项目开发方面的工作,难免会用到虚拟机实现代码运行,最近我也一直在思考,虚拟机是以哪种方式实现的,底层逻辑又是怎样的?于是在网上查阅了相关的资料 ...
最新文章
- ubuntu16.04 安装 eclipse
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
- Linux共享库 base64库
- UWP应用程序使用Prism框架构建MVVM
- JMS学习(六)--提高非持久订阅者的可靠性 以及 订阅恢复策略
- Auto.js Pro如何连接VS Code插件
- P5290 [十二省联考2019]春节十二响
- 三个数相减的平方公式_快收好这份小学数学公式大全!孩子遇到数学难题时肯定用得上...
- ms12-20 远程桌面(RDP)3389漏洞
- 什么是php的ast结构,什么是AST?Vue源码中AST语法树的解析
- 虚拟资源拳王公社:做什么副业能最快赚到钱?虚拟副业是怎么赚钱的
- c语言 rgb颜色渐变_这种渐变噪点的质感,咋做的?
- 流量和延迟减半!挑战 TiDB 跨数据中心难题
- windows8 开发教程 教你制作 多点触控Helper可将任意容器内任意对象进行多点缩放...
- 计算机编程和机器人编程有什么不同,编程和机器人编程的区别
- DongDong数颜色 树上启发式合并 牛客
- 精力管理指南:想要每天精力充沛,只需做好这 3 点
- luogu P1195 口袋的天空
- Python 在线编译器简单实现
- FlowLayout 流式布局加点击事件