We live in difficult economic times. As business leaders, it’s our priority to look at how to be cost-effective in running our businesses. Testing is an integral and inevitable part of software development. In this blog, we will look at how to bring cost effectiveness in testing.
I read an article yesterday in which my SLO friend Kit Merker was featured. Kit is from Software Testing background and currently focuses on bringing effectiveness to software performance and reliability through SLOs. While going through the article, I found some very interesting perspectives about bringing cost effectiveness to the organisations. When I said in Twitter that I would have loved to bring in my Software Testing perspective to that discussion, Kit asked what my opinion was on the topic, so I sat down to write this blog.
First things first, my evergreen take on cost effectiveness in Testing is to always remember that Software Testing is a human activity! Nope, not automation. So in the quest of bringing cost effectiveness, if you try to replace humans with automation scripts in Software Testing, you are doing it wrong. I wrote a blog recently about writing tests which explains why this is so. Give it a read and you will know.
Subscribe to my YouTube channel
Now that I got that out of the way, I wish to put on a CEO cap and look at the inputs from the other expert inputs in the article and give my take on them:
“The first thing is to not lose track of all the tools and what everybody’s purchasing.”: While it’s great to keep tabs on the great tools out there in the market, as Kit said, context is the Queen, and hence, I would really look at whether those popular tool(s) is what I need. Especially in Software Testing, there are innumerable tools, and those tools keep changing every six months with new tools coming in and existing tools upgrading, it would be futile to focus on tools. Instead, I would focus on the business/domain/industry/product. What am I offering, and what’s needed to get this done with minimal effort and fatigue.
“[Look at ] technology that helps you look at that, look at your patterns of usage, understand where there’s opportunities for optimization, when you’ve got idle resources, especially in modern Kubernetes environments.”: This is a great advice from optimizing the resources perspective, and I think we need to do this not just during challenging economic times, but always as an effective and efficient business.
“Think about it in terms of the infrastructure cost of moving to the cloud, running more efficiently, and then optimizing for it. Also, how is developer productivity and developer time as a cost being incorporated into my cloud strategy.”: This is an involved topic and there is no straightforward black and white answer. It depends on several things like how optimally I use my cloud service, my configurations, needs between on-premise and cloud, cloud training for developer productivity, cloud service speed towards productivity and performance (which also affects developer time), and so on. It’s certainly not a low-hanging fruit that I would grab for quick cost effectiveness.
“Don’t try to do everything yourself. At the end of the day, you need to figure out what is your core business and stick to that. You either collaborate or work with partners for the rest of the things.”: This is very true, provided outsourcing is cost-effective in tough business situations. Again, there’s a fine balance. We can’t push to either extreme.
“The simplest one is to find KPIs that make sense for judging your effectiveness.”: Unfortunately, finding those KPIs is tough in a dynamically changing business environment. Take for example, the bank that went insolvent in 5 hours. Where was the time to even react, forget about KPI? Agreed that’s extreme, but choosing hard-coded metrics is getting more and more ineffective in a dynamic business world, instead, as a CEO, I would be in the “thick of things” so that I know what’s going on and do what is necessary instead of sticking to metrics or KPIs that may not necessarily the reality.
“Don’t just cut costs without the context. The idea of being able to make your service and team efficient needs the context of the value that you’re paying for.”: This is gold. Always be real, pay attention to context, go with what works, and pay for value.
“Just buying a tool or optimizing costs or firing people is not enough. You need company-wide cultural change”: Totally agree with the first part, ‘Nay’ for the second part. It’s not possible to talk or bring in cultural change when your house is on fire. Cultural change involves people, and it takes loads of time to change people and transform organisations. Measures towards cost effectiveness are definitely needed, but I wouldn’t brand them as ‘company-wide cultural change’. There would be lot of resistance.
It was indeed a pleasure to go through all the views! From a Software Testing perspective, as I said, balance and context matters, and the most important thing is not to forget that software testing (and software development in general) is a human activity and we should not try to replace humans with automation to achieve cost effectiveness in a bland or a brute-force way, but diligently look at where where several days/hours of human effort is wasted and there’s a lot of fatigue and see if automated checks can substitute the human effort there. Again, such automation efforts should be closely monitored by humans, flaky executions corrected, and human testing leading the effort interspersed with automation wherever required.
Hope this blog helps you and your organisation to achieve cost effectiveness in general, and in Software Testing specifically. If your organisation needs inputs or consulting on Software Testing strategy or advisory, feel free to reach out to me. Glad to help!