图4 随着规模增长缺陷数随之增长
生产力往往对一个系统的整体质量也有非常大的影响,它可以通过产能指数来测量。它包含软件开发中的许多因素,比如管理人员影响力、开发方法、工具、技术以及开发团队的技能和经验。它还要考虑应用的类型和复杂度、过程因素和复用。它使用一个0.1到40的标准刻度范围,值低的地方与不良的环境、工具和复杂的系统相关,高值则代表有好的环境、工具和管理,对项目有着充分的理解。
历史数据表明,缺陷检测率会随产能指数的提升呈指数级下降。图5展示了相同规模软件应用在不同产能指数(分别为17和21)下的累积的缺陷检出数。有着较高产能指数的项目不仅可以提前九个月交付,大约总计还要少360个缺陷。当开发团队变得更少时会更具意义,首先他们更少犯错,从而测试时发现的错误也会降低。在更高的生产力水平上工作可以大幅提升软件质量。
图5 同样规模的系统在不同产能指数下产生的缺陷对比
开发团队的规模也可以影响一个系统的质量,因为较大的团队往往比较小的团队产生更多的错误。如图6所示,当在相同项目规模下比较大型团队(红色)和小型团队(灰色)时,在所有项目规模下小型团队都会比大型团队少50-65个错误。另外,他们很少制定处罚条例,如果有的话也花不了多少工作量。去识别组织内哪里浪费时这个发现特别有用,因为它说明为项目增加资源未必总能提升质量。
原文转自:http://www.infoq.com/cn/articles/understanding-quality-reliability-qsm