《Software Development Metrics》由David Nicolette撰写,George Dinwiddie作序,旨在为软件开发团队提供实用的度量指标,帮助他们在项目进行中有效引导工作,并量化流程改进的效果。本书不依赖于特定的开发框架或方法论,而是根据组织的实际情况,提供适合的度量方法。
主要内容
1. 度量与指标的基础
- 度量与指标的区别:度量是单次的数据观察,而指标是重复的、有目的的测量,用于支持决策。
- 实用指标:指标应具有明确的目的,帮助利益相关者做出决策,避免无意义的测量。
- 传统与适应性开发的度量:传统开发使用“向后看”的指标,适应性开发则使用“向前看”的指标。
2. 用于引导工作的度量
- 范围完成百分比:用于跟踪项目进展,适用于固定范围的项目。
- 挣值管理(EVM):用于传统项目,跟踪预算和进度偏差。
- 预算消耗率:跟踪项目资金的使用情况,适用于传统和适应性项目。
- 运行测试功能(RTF):用于适应性开发,跟踪已部署的功能数量。
- 速度(Velocity):用于时间盒迭代模型,跟踪团队在每个迭代中完成的工作量。
- 周期时间(Cycle Time):用于跟踪单个工作项的完成时间,适用于任何开发模式。
- 燃尽图(Burn Chart):用于预测团队未来的交付能力。
3. 用于改进的度量
- 技术指标:如静态代码分析、版本控制历史等,帮助团队识别技术债务和代码质量问题。
- 人员指标:如情绪地震图、幸福指数等,帮助团队了解成员的情绪状态和团队动态。
- 流程周期效率(PCE):用于识别流程中的非增值时间,帮助团队提高效率。
4. 度量组合应用
- 多指标组合:通过组合不同的度量指标,可以更全面地了解项目的进展和问题。
- 案例研究:书中提供了多个实际案例,展示如何通过组合不同的度量指标来解决问题。
5. 可预测性规划
- 短期规划的可预测性:通过度量指标,团队可以更准确地预测短期内的交付能力。
- 工作项大小的影响:工作项大小的不一致性会影响交付的可预测性。
- 在制品(WIP)的影响:过多的在制品会延长周期时间,降低交付效率。
6. 向上级报告
- 报告工时:如何有效地向上级报告工时和进度。
- 无意义的度量:识别并避免使用那些对项目进展无帮助的度量指标。
总结
《Software Development Metrics》是一本实用的指南,适合那些在软件开发一线工作的人员,帮助他们选择合适的度量指标来跟踪项目进展和流程改进。书中提供了丰富的度量方法和案例,帮助读者在实际工作中应用这些指标,避免常见的误用和反模式。无论是传统开发还是适应性开发,本书都能提供有价值的见解和工具。