Analytical Metrics for Programmers: How NOT to Use Data to Improve Efficiency

Learn how to use analytics wisely to improve your software delivery process. This article will teach you the pitfalls of using metrics blindly and how to avoid them. Discover how to use metrics to identify and solve problems in your software development process.

The business world has long appreciated analytical events as a source of information about what users are doing to optimize the sales process.

We want the business to take into account the company’s revenue when making decisions about product changes, in order to provide resources for further team and product development, as well as appropriate compensation for us.

But do we, as development teams, use analytical tools to optimize our software delivery process?

Of course, the priority for every programmer should be to achieve product metrics, but typical metrics focused on business goals do not help us find potential improvements in software delivery.

Just like for the business, revenue is the most important metric, but without skillfully dividing this metric into smaller ones, we will not be able to achieve this fundamental goal.

Dividing metrics into smaller ones

Let’s assume that we run an online store that sells shoes. Of course, we want revenue to be high, but this metric does not help us find potential areas to focus on. It only tells us whether things are good or bad. We need to divide this metric into smaller metrics, such as:

  • The number of people visiting our website,
  • The number of people adding products to their cart,
  • The number of actual purchases made by the store,
  • The biggest costs we encounter.

Only a divided metric will allow us to make decisions about the appropriate actions to effectively work towards achieving the overarching revenue metric.

If we see that very few people are visiting our website at all, we know that we need to focus on acquiring customers, because there is no point in improving the efficiency of the purchase process if hardly anyone is accessing our website.

πŸ’‘ Note

Metrics allow us to identify problems and take the most beneficial actions for the business.

Improving metrics

Great, we have identified the problem - few people are entering our website. The business creates a team responsible for increasing this metric.

The team works, introduces advertising. The team notices that the phrases “Elegant shoes” and “suit shoes” are the most clicked on and promotes them. The metric increases by 500% year over year, they pop the champagne, celebrate, and bonuses increase!

But something is not right. Although the number of people visiting the website has increased 25 times in two years, the number of people adding products to their cart has not significantly increased. Something must be wrong with the website, right?

It turns out that the sales team did not realize that the store sells sports shoes, not elegant ones, so the ads were ineffective.

πŸ’‘ Note

Metrics do not exempt us from the obligation to think and make the right decisions. Metrics only give us deep knowledge about the problem.

Short-term action

A new CEO comes to the company and fires the team that allowed such inefficiency.

They hire new employees who work efficiently. The new CEO puts a lot of pressure on the team, which immediately achieves spectacular results.

Revenue increased fivefold in a matter of months and doubled again by the end of the year.

However, the following year does not bring improvement, but rather a decline. Experienced employees, under constant pressure, begin to leave the company in large numbers.

The company’s earnings start to decline because the CEO did not take into account employee satisfaction, which led to poor financial results.

πŸ’‘ Note

Metrics should not be considered individually, without taking into account other metrics, especially employee satisfaction.

Long-term action

The CEO finally looks at the satisfaction metric and takes care of a better balance between work and personal life.

They introduce a better work culture, resulting in increased satisfaction and a halt in the decline of revenue. They make additional improvements in other teams, which allows for 10% year-over-year growth.

However, they did not notice changes in society, which caused stagnation in subsequent years and then a sharp decline. Classic sports shoes started to become obsolete, and customers focused on barefoot-type shoes.

πŸ’‘ Note

Metrics cannot be considered without completely ignoring expert knowledge. They complement this knowledge with hard data.

However, tracking market trends allowed the company to correct its course and raise itself up before it fell.

What did it give us?

Did the company make mistakes? Yes.

Would the company have achieved these results without metrics? I don’t think so.

However, it must be remembered that we should not blindly pursue high metric indicators.

πŸ’‘ Note

Our goal is never just to improve the metric itself. Analytics should deepen our understanding of the problem, help identify issues, and allow us to take actions to improve the efficiency of our work. It also allows us to analyze whether our actions are yielding results.

What about programmers?

Think about what metrics we, as programmers, should have in order to improve the efficiency of our work, just like business teams do.

If you want to count the number of lines of code written in a month, I strongly advise against it ;)