Software Project Management: Measures for Improving Performance focuses on more than the mechanics of project execution. By showing the reader how to identify and solve real world problems that put schedule, cost and quality at risk, this guide gets to the heart of improving project control and performance.
Identify measurement needs and goals
Determine what measures to use to maximize the value of data
Interpret data and report the results
Diagnose quality and productivity issues
Use metrics data to solve real problems
Review By: Shelley L. Rueger 03/26/2007Software Project Management: Measures for Improving Performance provides an education in creating a metrics program that will allow the project manager to identify problems in development before the schedule is negatively impacted. The author assume that the organization using it has no internal software engineering group or program management office, but the book also may be useful for organizations that do.
The author has a pragmatic approach. He answers the questions “What are we measuring when we measure software, and why do we measure it?” with “We measure what will help us get our work done.” This book does not go into a lot of theory; instead, it provides a good entry-level discussion of how to use metrics to improve a software development program.
This book is targeted to project managers but would also be helpful for QA or Test Managers who would like to create a metrics program.
The book seems to take a reasonable approach to metrics. The author does not expect development teams to add a large number of metrics with a lot of overhead but instead expects that each development team will choose the metrics that make the most sense for its own use and only use those. He expects a team to do a cost/benefit analysis of its metrics program and only “spend” for the metrics that will produce a significant benefit.
The most interesting and helpful portion of the book is the final chapter—a case study that delves into the human side of a metrics program. The author uses a series of somewhat fictionalized but still true-to-life stories to illustrate how to use measurements to improve the development process and environment. While not every one of these stories may be helpful for every reader, many of them address common problems in software development.
The book assumes that the development team is using traditional methods, not agile, so some of the examples and stories may not apply to agile teams.
One topic that could have been addressed is how to overcome resistance to instituting a metrics program. Many metrics programs fail, not because the metrics themselves are bad but because of the politics that appear once people are held to measures. That concern is only tangentially visited as part of the case study chapter.
If the reader is looking set up a simple, valuable metrics program, Software Project Management: Measures for Improving Performance may provide a method for getting started.