Coming back to my first post „Taking the Leap“, I want to explore how we can evaluate our current state of testing. What methods can be used to know whether or not we are doing sufficient testing to ensure high quality. Making the connection to my header image – the sea is rough but you can’t really see the light. You don’t know what is coming and that is not a good feeling.
As a heads up – this post will not be about agility and team empowerment. This post will be about making a status quo transparent to management and people who can decide on budget to change that status quo. After that comes the team empowerment and the decisions by the teams on how to improve. Thus this post is going out to all test managers, development leads, heads of departments and everybody else who wants to improve quality by using typical organizational processes.
First of all, why do we want to find out our current state of testing. Well most likely development speed is going down due to bug fixing efforts and the latest releases have shown less quality than expected by customers or consumers. In that moment, software quality starts being a business risk that needs to be tackled and senior management might start to inquire (and we don’t want that 😉 ).
For me there are four steps to go forth after we noticed that software quality is sub-par.
- Find the right measures and KPIs for software quality. Is it actually bad or is it just a gut feeling. How can we make transparent whether or not the software quality should be improved
- Work hard on obtaining the KPIs- they will not be available in the first place, so make sure to get the resources to obtain the results. E.g. if we don’t know the code coverage of our unit tests, somebody needs to install sonarqube. If we aren’t even able to do this, then the pain might just not be big enough
- Identify which KPIs should be improved and define steps to do this. Quantify the costs of these steps and present to senior management. Also identify which steps give the most bang for the buck (efficiency), so management feels pressured to free up resources. Align your success with the success of your managers (maybe even bonus systems), so supporting you is in their best interest
- Work closely with the development teams and track how KPIs are fulfilled. Be nice and start with small steps and small goals to help everyone get a sense of achievement. This makes work fun and rewarding. Do not go on talking about what has gone wrong in the past, but focus on future improvements
I will explore these four steps in my upcoming posts!