Software development has become vital to business success, particularly for technology-enabled businesses. If you are responsible for software teams, you need to understand the market forces impacting your teams, a high-level view of how value is delivered to your customers, and ultimately how to measure the success of your software development teams.

Importance of Effective Software Delivery in Today’s Market

Today’s markets are dynamic and changing very fast. In order for your business to win, your development teams must keep pace. Customer expectations are increasing in every vertical – demanding better user experiences, faster responsiveness, and seamless workflows. These increased expectations apply pressure on competitive development teams to rapidly release new and updated products to market. On a larger scale, markets are frequently being disrupted by new products that leverage the latest technologies.

To stay relevant to customers and competitive in the market, companies and their development teams must deliver value to the marketplace faster than ever before. Effective software leadership must facilitate that capability.

The Common Endpoint

Even though every software team starts from a different place, all software teams are striving to achieve the same common endpoint – to rapidly deliver value to the business and its customers.

Perhaps some of these goals resonate with you and your organization:

  • Increase development velocity
  • Accelerate release cycle time
  • Achieve higher customer engagement and satisfaction
  • Deliver higher quality
  • Increase value throughput and return on investment

 

 

How to Measure your Teams’ Success

To achieve the goals above, software teams need a high-level framework to measure their performance and success. We suggest using the framework below to obtain a top-down view of the performance of your software teams:

1. Responsiveness

Responsiveness, also called Cycle Time, measures how fast you are able to deliver value to the market.

Metric: Cycle Time = Time between Production Releases (Days)

The goal is to deliver in small increments as fast as possible to meet changing business needs. This translates into building, integrating, testing and deploying to production as fast as possible. Whether shipping an important feature, or quickly fixing a serious defect – Cycle Time is a critically important metric for software teams.

A good way to decrease cycle time is through automated deployments and moving toward Continuous Delivery. Companies like Amazon, Facebook and Google are deploying to production hundreds of times per day or more. While most companies don’t need to go to that extreme, almost all companies can benefit immensely from being more responsive.

2. Reliability

Reliability is a measure of your software quality, or the variance between the customer’s expected output and your actual output into production.

Metric: Defect Rate = Number of Defects found in Production (Defects / Week)

To use the defect rate effectively, defects should be graded by severity. The goal is to reduce the defect rate over time, starting by minimizing the most impactful defects first. Automated testing throughout your software systems is critical to lowering your defect rate.

It’s important not only to identify and reduce defects, but also to determine and eliminate their root causes so they won’t resurface again in the future. When teams deliver low quality with high defect rates, it causes major disruption to software teams with unplanned work, to customers with delayed releases, and to the business with lost opportunity. Reliability greatly impacts your ability to be Responsive.

3. Value

Value measures the rate at which your teams deliver customer success and opportunity for business growth. Value throughput is the ultimate indicator of success for software teams. Ideally, we suggest measuring value as a financial benefit, so both the business and software teams are able to speak the same language.

Metric: Value Throughput = Value Delivered to Business & Customers ($ / Week)

The important question to ask here is, “Are we shipping the right things at the right time?” From a planning perspective, the best way to optimize for value is to measure business value and effort when planning user stories. Then, prioritize based on this ratio. Quick wins that deliver the most value for the least effort should be built first.

Most teams measure velocity, but velocity does not always reflect real value. For instance, if your team delivers features that do not provide material business value, customers don’t use, don’t know how to use, or simply cannot benefit from – has the customer really received any value?

For this reason, we suggest following features into production to understand how customers are actually using what is being delivered. Ensure you have a close feedback loop with your customers to know whether your recent releases are delivering the expected value. Ask your teams: How well are our customers achieving their desired outcomes using our product?

In future articles, we will break down the components of Responsiveness, Reliability, and Value for better software management. We will explain how your software teams can respond faster and deliver higher value throughput to meet the needs of the business.

Your turn: How do your software teams measure their success at your company? Do any of these concepts resonate with you, or do you have others to share? Please respond with your thoughts in the comment section below.