Let me get straight to the point. This is the story of how we have helped our Partner save 12k USD per month in the project “Celesta”. Interested? Let me tell you how we have done it… But be warned – you will not like it! Why? Because it is a story about Quality. And everyone knows that Quality sucks… Even I – a guy who has worked with Software Quality for one and a half decades.
Why Quality sucks?
Here is why we hate testing, Quality and anything that has to do with it. Quality means money, and it costs a lot of: cash, time, and resources. The worst part? You don’t get anything you could show your customer in return. No new designs, no new plans, no new code. So why on earth would you even think about spending money on it?
The best tool to spot the drain (with which you flush the money)
Our Partner had an issue – they had a fixed-price long-term project. After 7 months, they understood they had spent money too quickly. Or, to be more precise – the software development needed to be faster. They had a lot of bugs appearing randomly in the ready code, so the developers needed to focus on fixes instead of delivering new code. They asked for our help. Testers could take the burden of finding bugs from devs, and this should free up some of their time.
Was it a great solution? No! It was a good starting point. The only way to understand what progress did you really make is to know how much of the requirements and expectations were delivered. How does this relate to testing? Testing is the only tool you can use to measure that.
Quality? It’s just a metric!
Quality is precisely that – a metric showing how many requirements you have fulfilled and how well you delivered them. We check it by testing. So the first surprise in the project codename “Celesta” was not an issue. After four weeks of analysis and testing, we had to deliver bad news – stakeholders thought 25% of the app was ready. According to us, it was 12,5%. How come? Well, 25% of the tasks connected to the 25% of the requirements were moved to “done”. But it does not necessarily mean that they are “finished” and they “work”.
Where is my app? Where is my money?
Have you ever heard someone saying, “This is not what I wanted”? The project was on the right track to that place. And we just let our Partner know that the solution is to spend more money. On testing. Why would you do that?! Isn’t it time to save money? First of all, we needed to stop losing money!
To make any proper decision, you need data. To have data, you need a good Quality process. Fortunately, we know what to do. After two weeks, we had the first answers. Over 32% of development time was spent on bug fixes and changes. You can wave your hand and say, “Anything has bugs; it’s normal”. But can you imagine you have a car factory and more than a quarter of your cars are not working? Just on that single metric, you can already tell you are losing money on that project. If you leave it as it is, it would be more beneficial to stop and drop it. So we have spotted the issue. Can you save the project? There are still 15 months left.
I need Developers, not Testers!
Do we need to catch up with the development? Let’s add more developers!!! Let me stop you right there. If you waste 32% of your budget, you could turn some of that waste into value. That’s what we tried to do. We had enough data. But what can you do to reduce waste? TESTING!
I know I sound like a maniac. But Project Celesta had a severe problem. Most of the time, Testers did not know what should be the outcome of testing. What does it mean? The developers probably did not know what it was that they actually needed to do. So let’s eliminate the testers and add more business analytics, right?
What I want is different from what you think, and it is different from what I need
Project Celesta had a big issue. As it was a complex and vast project, it was hard to describe “what I want” and then translate it into a requirement that everyone would understand the same. Though this project was challenging, it is common even in simple online shops.
You can only develop a good code if you know what it should do, what the end-user would expect, and what is the GOAL of what you are doing. That is why we have focused the testing efforts on the requirements and documentation. Sounds like a waste of time and money? That’s how we saved time and money!
Solve the biggest issue!
We use one easy rule in Testspring: “As long as I know how to test it, you will know how to develop it”. Testers started reporting defects in documentation, trying to clarify all the questions. Not ideal? You might need more time and money to develop, develop, and develop. But do you have time to fix it later? Do you have time to spend programmers’ time trying to know what to do?
The biggest issue here was not the team’s skills (which were great, by the way). The good-quality code was delivered based on poor-quality requirements. This resulted in an app that was not doing what it needed to do and forced developers to get into system designer roles, as they were the ones who had to decide how to do certain things.
The math and the savings
I know you don’t want to just read a nice story. You need data, numbers and calculations. So here it is. After 5 weeks, we noticed a significant rise in the Quality and a big drop in the time spent on fixing. We were down to 22%. One more month, and we were able to get to 16%. Not so bad right? Half of the waste is reduced! That 16% reduction translated to 21k USD per month. The testing budget was 9k per month. So in a year to come, we have helped to save over 250k USD.
Conclusion
Listen – I know that Quality sounds terrible. Spending additional money is always awful. Most of the managers would rather have an additional developer than a tester. But this is usually the case when you need help using testing to enhance the development process. Just finding bugs is not enough. But that’s what testing is in most cases.
The conclusion here is simple – Testing gives you data. Data gives you power. Use that superpower!
If you are unsure what to do, need help, or want to discuss an exciting case – let’s have a virtual coffee! See if you can find some dates that suit you for a call!
~Habib