Building Software Development Dashboards with Key Performance Indicators

[article]
Summary:

Key performance indicators help managers gauge the team’s progress, understand what phase the project is in, and figure out where costs, goals, or processes need to be adjusted. This article details some typical KPIs to be used in dashboards to provide business analytics and communicate information in the most useful way.

Within the framework of the software development business, senior managers want to have the big picture in terms of costs, performance, and delivery to commitment in order to address expected results.

It’s a good idea for software team leaders and development project managers to put themselves in a senior manager’s shoes and think about what measureable indicators would be most useful to help draw that big picture.

The first step is to define the key performance indicators (KPIs) to focus on. KPIs will be used to enhance and measure the organization’s strategy, so they must be chosen with accuracy and be set up clearly in order to make them useful.

Dashboards should provide business analytics and performance indicators to help senior managers make decisions, giving the most accurate information in a simple way. Keep in mind that a picture is worth a thousand words. When you are giving a presentation and showing analytic information, the charts should speak for themselves. Any picture, graph, or chart you need to explain is not clear enough.

This article addresses the most typical KPIs that will help managers of any software development organization quickly understand what stage a project is in and then easily identify which processes need to be improved.

Schedule Adherence

This KPI measures performance in terms of time management and is intended to plot desired behavior in terms of delivery to commitment, accurate estimating, and the avoidance of delaying scope due to later assignments.

Its formula is based on the percentage deviation between actual and planned delivery dates:

[ 1- ABS ( ADD – PDD )/PDD ] * 100

Where…

ADD (Actual Delivery Date) = Actual Finish Date – Planned Start Date

PDD (Planned Delivery Date) = Planned Finish Date – Planned Start Date

Content Adherence

This KPI gives useful information about the team performance when it comes to scope handling. It is oriented to assess this performance in terms of delivery to commitment and delivery of full planned scope.

Its formula is based on the percentage deviation between total completed requirements and total committed requirements:

#Completed Requirements / #Committed Requirements * 100

Cost Adherence

As its name implies, this KPI provides analytic information to measure cost management performance. It focuses on delivery to commitment, accurate estimation, and avoiding buffers.

Its formula figures out the deviation between the actual cost and the committed cost:

[ 1- ( Expected Cost at Complete – Committed Cost ) / Committed Cost ] * 100

Where…

Expected Cost at Complete = Actual Cost + Forecast

Committed Cost = Baseline

Deliverables and Team Performance

This KPI provides useful information about quality management. It’s intended to provide metrics about different project stages, as well as design and development phases. You could measure the quality of deliverables in the development stage in terms of the accuracy of functional definitions, and it also could be useful to measure the quality of deliverables in the testing stage to help aim for bug-free product engagement.

This measurement gives information about the ability to capture issues before the development stage and avoiding introducing bugs during development phases.

When measuring functional and design quality:

[ 1- Functional and Design issues / All kind of issues ] * 100

When measuring bug-free delivery engagement:

[ 1- Bug-Fixing Effort / Total Development Effort ] * 100

Cost of Quality

Quality must be measured not only during development stages, but also after sales and customer satisfaction management activities. Once the final delivery is running live, you need to measure the product’s quality and figure out costs related to any stabilization effort.

This KPI formula is intended to measure the maintenance cost regarding incident management activities due to poor product quality and the efficiency of the team to fix escalated issues:

Cost of Maintenance / Number of Incidents that include a fix solution.

Setting Expected Goals

Once all of these KPIs have been defined and everybody involved in the definition’s process agrees on how KPIs are going to be assessed, it is time to set up the expected values to be achieved.

It is not easy to define expected values when there are no previous assessments. In order to measure whether you are improving and how far you are from the expected goals, first you need to set up baselines for each KPI. These baselines will act as snapshots of progress in this initial assessment. They also will allow you to figure out the rhythm and velocity you are experiencing before setting up any expectations.

Now, the only step left is to set up expected values. Here, it is vital to be cognizant about the organization’s goals. As KPIs have been defined to align with your organization’s goals, expected values must have to be defined taking into account the same concept.

One reliable hint to keep in mind when you are setting goals is to figure out what the break-even point is. Once you know that, you can set up the value you can reach. Remember that more often than not, this value is not always at the top of the scale.

Conclusion

These key performance indicators and the formulas for how to determine them should help you paint an accurate picture in terms of a project’s costs, performance, and delivery to commitment. This should help managers gauge the team’s progress, understand what phase the project is in, and figure out where costs, goals, or processes need to be adjusted.

About the author

StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.