什么是软件开发中的质量成本(COQ)?

质量不是一种行为,而是一种习惯。--亚里士多德

什么是软件开发中的质量成本(COQ)?

软件开发中的质量成本是一个度量标准,它有助于将软件转变为公司的盈利工具。公司正在关注ROI,即软件开发投资对组织的回报。

质量是有代价的,其成本称为COQ(Cost of Quality),即质量成本

什么是质量成本(COQ)?

COQ是向客户交付优质产品所产生的成本。成本包括以计划的方式主动采取的所有活动的成本,以预防缺陷并提供良好的质量。

不可能提供零缺陷的产品,其思想是将承诺的需求(即功能需求和非功能需求)的预期故障降至最低。期望可以是有形和无形的,因此,设定清晰的期望非常关键。

质量成本公式

COQ = 控制成本 + 控制失败成本 

COQ = 良好软件质量的成本 + 劣质软件的成本

优质成本(COGQ)= 预防成本 + 检测成本

劣质成本(COPQ)= 内部故障成本 + 外部故障成本

总结:COQ = 预防成本+检测成本 + 内部故障成本+外部故障成本

什么是软件开发中的质量成本(COQ)?

预防成本:包括预防不良质量的成本,对开发人员的持续培训,设计人员能够设计和开发易于维护、遵循流程并遵守性能和安全标准的代码等的成本。

检测/评估成本:确定符合质量要求所发生的成本。这包括开发测试设计和完全覆盖业务需求的用例、性能检查和应用程序检查的成本。成本还包括建立各种测试环境、创建相关的测试数据、测试、缺陷记录、自动化脚本和跟踪等。

内部故障成本:包括软件组织在交付之前进行内部检查期间修复缺陷所产生的成本,例如返工,重新测试,缺陷修复,重新设计等。

外部故障成本(最昂贵的成本):包括产品交付后产生的产品支持成本以及客户报告的缺陷。例如,处理客户投诉的成本,在市场上失去竞争优势,退货,补丁,保修索赔,公司声誉受损,诉讼,公司贬值,失去客户信誉等的成本。

质量差的原因

  • 对行业标准和最佳实践缺乏知识和意识;
  • 高层缺乏对质量的承诺;
  • 缺乏领域专家/技术专家;
  • 缺乏培训、培训技能、培训计划;
  • 缺乏动力、热情、兴趣,并施加压力、恐惧;
  • 缺乏跟踪和管理;
  • 缺乏好的工具;
  • 资源短缺;

通过严格和定期的审查,跟踪以及持续的流程改进来进行预防是进步和减少COPQ的一种方法。

改善质量以优化COQ

1、了解行业标准和良好实践,并从一开始就实施与组织相关的标准,并与之保持同步。

2、对质量的承诺应该在每个层次上都可见,并且应该在行动的每个阶段进行沟通,而不仅仅是传达。不必让所有上级参加所有会议,让相关人员参加,并与所有相关人员共享会议纪要。

3、尽早投资于良好的实践和控制。遵循所有实践并使用市场上所有可用的工具并不是解决办法。

4、与从客户到开发人员和测试人员的所有涉众进行沟通,将使我们能够与根相连,有助于提前规避问题。沟通是弥合分歧和误解的关键。

5、提前解决问题可以节省大量时间、精力和金钱。

6、仅关注与测试相关领域。例如,是否需要负载测试?我们是否需要对所有数据库(Oracle、SQL等)进行测试?我们是否应该测试对所有Web浏览器的兼容?

7、如果可能,应通过获取合同/咨询资源来尽快解决缺少领域专家的问题。如果没有,则共享需求、测试方案的所有详细信息并获得客户的批准也可能会有所帮助。使用所有可用的专业知识。

8、如果无法安排适当的培训,每个领导者都应经常与他的团队碰头解决他们的问题。在团队内部和整个团队,即开发人员、测试人员、BA、测试人员等,都应该建立良好的团队关系。

9、通过赞赏那些高质量工作的人,并让团队成为缺陷因果分析后采取的过程改进措施的一部分,从而激发资源。鼓励创新和新想法。

10、尽早测试,以便可以及早发现并纠正错误。

11、开始优先投资工具,因为自动化应该是第一位的。

12、维护风险登记表并计划降低风险。

总之,

质量确实很关键,但是并不一定要在所有功能的微观层面上都能达到。需要在质量和成本之间寻找平衡点,以最佳成本实现客户需求的最佳状态。

-- End --

文末寄语: 路,走不通时,学会拐弯,结,解不开时,学会忘记;事,难以做时,学会放下;缘,渐行远时,选择随意。



留言