This time it’s about the importance of metrics in software development and how they can help replace opinions with data. We discuss how metrics can be used to measure quality and productivity and what challenges there are. Maik also shares his perspective on how to choose the right metrics for a project and how to use them in a way that makes them really useful. Metrics help us make better decisions and make software development more efficient.
“Deming once said that if you don’t have any data, you’re just another person with an opinion.” - Maik Wojcieszak
As the founder of getNext IT, a Kiel-based consultancy, Maik helps people, teams and companies to succeed in our complex and fast-changing world and to constantly adapt to new challenges. As co-founder and technical director of wobe-systems GmbH, Maik and his team develop software for industrial automation and system integration. He applies DevOps values, principles and methods to complex cyber-physical products and production environments (Industrial DevOps) and contributes to the open source community.
Highlights of this Episode:
Richie and Maik discuss the importance of software metrics at the Software Quality Days 2024 in Vienna. Maik emphasizes that metrics help to make data-based decisions instead of relying on opinions. They talk about the usability and challenges of metrics, especially in agile environments.
Hello and welcome to a new episode of the Software Testing podcast. I’m Richie, your host, and I’m happy to present you with an exciting episode from my hometown Vienna. At the Software Quality Days 2024, I had the pleasure of talking to Maik about a topic that affects us all: software metrics. Maik is dedicated to this area and has valuable insights into how we can use metrics to improve quality and productivity in software development.
In the interview, Maik explained the central role of metrics in companies. Decisions are often made on the basis of opinions, which is not always expedient in the complex world of software development. Data-based decisions can help here. Maik quoted Deming: ‘If you don’t have data, you’re just another person with an opinion’. This quote underlines the need to support business decisions with sound data.
Despite the availability of numerous metrics and tools for data collection, Maik finds that their use often falls short of expectations. The problem is not with the data itself, but with its accessibility and usability. He compares this to an airplane cockpit: a pilot cannot efficiently read his instrument data on an Excel sheet. Instead, metrics should be as intuitive as a speedometer in a car - available at any time and easy to understand.
During the conversation, we also discussed which metrics are useful for smaller projects. Instead of a standardized set, Maik recommends selecting the relevant metrics on a case-by-case basis. DORA metrics, as described in the book ‘Accelerate’, are particularly popular in the DevOps area. However, these must actually fit the respective practice; otherwise they are of little use.
A key topic was the balance between quality and productivity. Quality can be measured by various parameters, such as error rates or recovery speed. For productivity, on the other hand, it is important to keep an eye on the lead time of a requirement until completion. Ideally, this should be visible directly in the development environment - even when writing the code.
Finally, we talked about the interpretation of metrics. Absolute figures can be misleading; trends and tendencies are more important. For example, a one-off measurement says little about long-term developments. This is where techniques such as Monte Carlo simulations come into play to create short-term forecasts and make informed decisions.