Software Engineering Metrics: Introduction
A six-part series on the why what and how of software engineering metrics.
This six-part series of articles looks at a metric strategy you can apply to a software engineering function throughout the entire delivery lifecycle, from the backlog through to production.
You can’t manage what you don’t measure
Every organisation wants to know how it is doing. To understand what is happening and how you should respond, you need insight into your entire delivery chain.
You can’t do that on feel and hunch alone. To do it properly and to enable positive change, you need data. A good set of metrics sensibly designed and applied will allow that.
This series of articles looks at a metric strategy you can apply to a software engineering function throughout the entire delivery lifecycle, from the backlog through to production.
Objective observation
Having a clear, easily collected, sensible set of metrics gives you a very unbiased view on your engineering function. Done right, they should contain as much detail as you can harvest but summarised to the right level for the various audiences.
A cycle of continuous improvement
The real purpose of collecting and presenting metrics is to encourage a cycle of constant improvement.
Observe
Observe system states and trends to understand what’s happening in your estate.
Analyse
Record the data, analyse it and present it through dashboards and reports.
Decide
Use the data and the outcomes of the analysis to make decisions on what needs to change.
Persuade
Use the objective data and decisions to bring about improvements and changes (through persuasion if needed). Continue to observe, looking for improvements.
This series is in six parts:
- Part 1: Start with Why. Why do you need metrics? What are you hoping to achieve with the results? What changes would you make based on the data output? How will you choose which metrics to collect and what outcomes do you expect?
- Part 2: Identify your audiences. Who wants or needs to see the metrics? What’s important to them and what level of detail do they need?
- Part 3: Understanding stocks and flows. It’s common to track how a value of something changes over time, but it is more revealing to understand the factors that influence change.
- Part 4: Define your metrics. How will you avoid additional effort just to get your metrics? Some suggestions to help you identify a sensible set of metrics.
- Part 5: Monitor and observe. How will you add monitoring to record the data you need? What systems will you hook into to extract real-time data? How will you expose your metrics to the right people at the right time? How will you add alerting where needed?
- Part 6: What to do with your data: What will you do with your metrics once you have them? How will you use it to bring organisational improvements? How will you identify constraints and areas for improvement?
Next — Part 1: Start with Why
Before you define your metrics, ask yourself why you need them.