Conclusion from Task 1 from “Metrics for Software Managers” written by team “Nerd Herd”: George Dean, Omar Naziry, Jonida Cali, Anton Shokrin, and myself.
When faced with growing project complexity, increasing scope, and late feedback from customers, Thoughtworks chose to employ a hybrid agile/plan-driven software development approach to deliver a custom lease management system. We propose a metrics program for this project targeted at controlling timely delivery of project iterations with acceptable levels of quality, from the perspective of the project manager. Toward this goal, the manager of a project must determine when the team can deliver the current iteration, whether the level of scope creep indicates a risk to the on-time delivery of this iteration, and whether the level of technical debt affects the project team’s ability to deliver future iterations on time. To answer these questions, the project manager can quantify the range of possible delivery dates, story point churn rate, story point growth rate, automated test case pass rate, number of outstanding bugs, percent code coverage, and cyclomatic complexity. Armed with a dashboard of these reports, he can reallocate resources, reset expectations, adjust scope, alter work processes, or recalibrate the project schedule to optimize delivery of new capabilities to stakeholders.
Delivering a three year long complex software project on time and at promised quality levels is challenging. Doing so without metrics is much like sailing across the Pacific without a compass. We decided that in addition to answering the posted question, our metrics will also follow four principles:
- The metrics will be leading not lagging, since the project manager needs to anticipate circumstances that would negatively affect the project.
- The metrics will be suitable for a long project with large functional footprint.
- The metrics will require minimal effort to render.
- The project is in good overall health and requires minor course correction not a drastic change of direction.
By applying these selection criteria to every one of proposed metrics, we narrowed the candidates to four metrics presented in this report.
Finally for easy consumption, we juxtaposed our metrics into a dashboard, giving the project manager the information needed to pull the right “levers” to control timely delivery of project iterations with acceptable levels of quality. The steps outlined above can enable the project manager to make new capabilities available to stakeholders on a consistent and timely basis.