A software project is a confluence of minds, skills and knowledge aimed at delivering a quality product. A good quality product doesn’t just accidentally happen but is a result of quality processes and methods employed while creating it.
So how would you know if you are producing quality products? You need to set indicators in place to check.
Measuring any entity requires some form of analysis before commencing. You cannot just jump on it and start measuring it. Let’s assume this hypothetical scenario where your boss owns an elephant and has tasked you to measure its weight. Some of the questions that might start in your head are:
Where do I even start ?
What tools to use ?
How can I measure accurately?
What do I do with this measurement ?
Why are we even measuring this ?
Who is going to see this measurement ? etc.
Similarly, when you want to use quality indicators, you would start by asking some of these questions:
What is the purpose of this indicator?
This should be the first question that you are asking when beginning with indicators is that are the indicators for self-assessment /improvement, or is it to evaluate staff performance, or is it for regulatory purposes or informing potential customers? Once you have an answer to this question you can be clear on what to actually focus on.
Defining scope is the next question. If you are working in a senior position you can ask if you will be measuring for a team or for a project for a certain time period or multiple. This will help you understand the variable in play for your indicators. also compared to what?Am I comparing progress over time or am I comparing to different teams?
You will need a clear idea in mind about what attribute you will be trying to measure. Is it bug count or thoroughness of testing, quality of the product, effectiveness of testing, effectiveness of tester etc. If your attributes are not clear then your indicator won’t either.
Also remember that some measures can be surrogates. Many attributes do not have an accepted method of measurement. To overcome this some other factor is used which is related to the actual attribute. For example Bug count is a surrogate measure for quality of product. Surrogate measures are at the root of an old corporate saying: There is nothing more dangerous than a vice-president with statistics.
Back in November 2019, I joined a startup company as a Quality Engineer. I wanted to improve the processes in both testing and development spheres but also wanted to see what the effectiveness levels would be. The following were our objectives:
Transfer domain knowledge from key stakeholders
Enhance exploratory testing methods
Stabilise delivery process with quality processes/practices and testing
Stabilise Organization wide Agile process
We placed indicators for three main areas which will give a good indication if our objectives will be achieved. They are as follows:
Indicators for effectiveness of processes
Indicators for deliverables
Indicators for team health
These would be a starting point for indicators for us. We will discuss more about the indicators in depth in the third part of this series. In the next part we will be discussing about the challenges we will face on our quality journey.