查看原文
其他

除了质量三问,如何应对质量管理5大灵魂拷问?

Test Ninja 软件质量报道 2022-06-03


  • 什么是软件质量?什么是合格的软件?

  • 我们开发的软件满足涉众的需求吗?

  • 它易用吗?安全吗?可靠吗?容易维护吗?容易扩展吗?


对于任何一个组织,回答这样的问题是很重要的

虽然我们知道软件公司常常按照一种含糊的、大概的质量观念来运转,并且容忍了大多数工程学科不能允许的缺陷。

但是,产品质量也反映了产品背后的研发过程。一个高质量的研发过程可以使开发组织避免返工、反反复复修改设计/代码的时间

如果整个公司、整个团队在软件质量、质量管理上达成一致的、正确的认知,就会有更多的时间来思考如何增加产品价值和关注质量细节,促进创新和开发出创造性的功能特性,最终交付良好质量的产品,才能最大程度地降低浪费,提高研发效能。

在软件研发过程中,大家往往关注进度、交付速度,经常忽视质量。如果你提质量,容易被人挑战、被拷问。除了质量三问 :质量是谁(什么)?质量从哪里来?到哪里去?质量管理还遇到五大拷问。下面就来回答来自质量管理的五大灵魂拷问。


1. 质量究竟有哪些价值?

仅仅认为质量重要是不够的,必须认识到质量的价值。如果没有认识到质量的价值,久而久之也会忽视质量。

质量的价值在哪里?最明显的价值就是让用户喜欢使用你的产品和服务。因为质量越高,客户越满意。如果客户喜欢你的产品,就会愿意掏钱购买,而且形成好的口碑,一传十、十传百、...带来更多的客户,所以质量好,就会给公司带来客户和利润,提高公司的竞争力

质量好,还能体现自己公司和其它公司的差异性,为自己公司带来很高的利润率,苹果公司生产的iPhone手机就是一个典型的例子。从2010年开始,全球智能手机的利润,苹果公司占有率从40+%提高到2015年的92%这是多么不可想象的事。

质量管理的作用是,为企业找利润,让企业更好地活下去。而且,当软件研发过程及其产品处在高质量水平,还能提升产品交付速度、部署速度,从而更好地对业务变化及时做出响应,维持或提高竞争优势。
质量好,有了更高的利润,生产的压力不会太大,在研发上投入也会加大,进一步促进企业和员工的创新


2. 质量的价值如何度量?

由美国商业部门的国家标准和技术机构(NIST)委托的一项研究发现,软件缺陷使美国经济每年付出近600亿美金的成本。研究也发现,大约百分之八十的软件资金都被软件开发人员确定和纠正缺陷消耗掉了。在另一项研究中,Standish 组织报告,每年被取消的软件开发项目花费了组织550亿美金。很明显,糟糕的软件质量--和糟糕的软件开发过程--是商业利益率的最大消耗

要度量质量的价值,挺难的,需要引入一个“劣质成本(COPQ)”的概念,即产生一个缺陷会给企业增加多大的成本。某需求缺陷,如果没在需求、设计发现,而是在编程时发现实现不了,然后需要改需求、设计,就造成返工,这返工的成本就属于COPQ。如果这个需求缺陷在系统测试时发现,那么就需要改需求、设计和代码,还要重新测试,这时会带来更大的成本。如果这需求缺陷在测试也没被发现,遗漏到生产线上,带来的COPQ会大得多。

通过劣质成本的核算,就能体现质量的价值。所以从这个角度看,测试也不是成本中心,当在测试上投入的成本低于COPQ时,测试就是利润中心,即保障性成本小于 劣质成本是合算的。


劣质成本常常被比作冰山一角,看不到的损失要大得多!因为直接看到的(能核算的)成本是很小的一部分,还要大量看不见的损失:如品牌、丢失订单、被客户抛弃。就像昨天谈到的微盟系统遭恶性删库事件,不仅仅是股票市值的损失、也不仅仅是几天不能提高服务而带来的营业额的损失,还有大量的损失(如公信力丧失、丢失客户等)无法计算。

为了提高质量的价值,提高管理的效益,美国质量大师提出“零缺陷质量管理思想”,就是一次把事情就做对,成本最低。甚至说“质量是免费的”,并不是人们常常所想的:质量越高、投入的质量保障成本越高。其实,不一定是这样,要求研发人员一次把事情就做对,在做之前会增加策划、思考的时间,但后续测试、改Bug时间会少多了,效率反而提高了,成本降低了,而不是提高。


3. 如何明确质量目标?

质量目标包括过程质量目标和所交付的产品质量目标。可以把重点放在产品质量的目标制定上,通过产品质量的目标来驱动过程质量。而产品质量的目标制定,主要依据下列质量模型,再结合自己特定的产品特性、应用场景和客户特定需求,进一步分解为特定的质量目标。可以参考我写的《全程软件测试(第3版)》第14章来制定。


4. 质量指标和业务指标如何衔接?

质量管理的成功最终要反映在业务上,所以质量指标必须和业务挂钩,这就是人们通常用KPI、OKR来确定个人或团队的绩效考核指标。业务目标会分解到某些质量指标上,最好的工具就是质量屋QFD(Quality Function Deployment, 质量功能展开)。


5.究竟如何能搞好质量管理?

首先是领导力:领导/管理层要拥有正确的质量价值观,如TQM、零缺陷管理等思想,重视质量,领导质量管理工作。其次,是整个组织的质量意识和质量文化,就像上面提到的“认可质量价值”,把质量放在第一位,而不是把进度放在第一位。
质量管理是一个系统的工程,从人与组织、流程、方法、技术和工具等各个方面去管理质量,做到全员、全过程的管理,还包括质量策划、质量控制、质量改进,详细可参考下个月出版的《软件质量保证与管理(第2版)》


包括先进的质量管理平台



参考:


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存