- project/work status. They also establish baseline measures for future comparisons.
- To Evaluate - Metrics enable project managers to see how they are performing against plan or quality goals. The data shows when and where projects and processes drift from plan and allow for course corrections.
- To Predict - Metrics can help predict future performance by providing
understanding of the relationships between processes and projects. Through reliable data, software development managers can better estimate costs, schedules and work effort.
- To improve - A thorough metrics program isolates roadblocks, inefficiencies and root causes in order to improve efficiency, productivity and software quality. Once metrics have been established, they can be used to demonstrate alignment with business goals and can assist in communication with senior executives.
These four benefits result in increased project efficiency, greater collaboration, enhanced productivity and ultimately better use of resources (time, money and people).
Aligning IT to the Business Goals with Goal Question Metrics (GQM)
One way of establishing an overall metrics program is to begin with the business goals and demonstrate alignment of the software development objectives within that context. This is where a good process framework and measurement methodology comes into play. Take the Goal Question Metrics approach as an example. In this methodology, developed by Victor Basili, overall business goals are defined first. The criteria of success are then identified as questions - what do we want to achieve to satisfy our business
goals, what questions will help us plan and manage progress toward our goals. Finally,
the key criteria are broken down into an array of measures that answer those questions. GQM is all about knowing what you want to find out, identifying the right data to collect and why, and how that data is used to show progress towards the overall business goals.
Regardless of the methodology used, defining metrics that are relevant to the business needs to involve the business. By business I mean the audience of the metrics you are collecting. This may be the CIO/CTO and LOB owners or may be the team lead and their team members. Metrics defined in a vacuum will not be believed by the business so involve them in their definition.
The Role of Dashboards
When collecting data, however, there may be some pitfalls that can hamper your efforts. Manually collecting data can increase the overhead burden, be incomplete and subject to bias. Is the act of collecting the data outweighing the value of the data itself? It is too time consuming to collect metrics to promote change. You end up in a vicious circle when
implementing a manual collection paradigm.
Automating data collection to extract information is the key to making a strong connection to aligning work efforts to meeting business goals. A measurement system has to be analytic and able to be stored and show trending over time. It must not be a burden to the workers who input the data but the input of the data should be a natural by product of their day to day responsibilities.
Once the data is in the system, how is it communicated and presented to the business? This is where dashboards come into play. They are a great way to consolidate the data and make it accessible, visible and meaningful to everyone in the business. Further, if your dashboards are well designed and active, not simple a static snapshot, individuals will be able to use them as management tools rather than simply reports of data. Dashboards with drill-down capabilities that derive data from a live and connected ALM system enable you to manage what needs managing and avoid costly time delays and subjectivity.
Five Key Metrics to consider
Typically, there are five essential metrics or more specifically metric categories that software development should look at:
- Team Efficiency
This metrics takes a look at outputs/time. To maximize the value of this metric, it