The cost of performance issues
Performance is your most important feature. If you’ve ever experienced performance issues in your customer-facing applications, I’m sure you’ll agree.
How to calculate the cost of performance issues
As we all know; as soon as a slowdown is detected, the uncovered resolution costs of the defect begin. Imagine your product has already passed the acceptance-testing phase and your final end-to-end production scenario load test has been executed. Surprisingly, the memory utilization shows clear indications of a memory leak. Deploying such an application to production risks it being hit by out-of-memory error exceptions. And serious reliability issues can bring your entire application down.
Several factors are known as the cost drivers behind performance bottlenecks. Some of these are visible, while others may not appear at first.
Late problem detection is definitely the number-one risk in today’s fast-moving development projects. It forces developers to abandon their new features and focus on troubleshooting performance problems instead.
But when it comes to solving for performance problems, you could find that even more pitfalls are involved. These include:
- the wrong simulation approach
- the wrong workload
- the wrong tooling
- late engagement
- the lack of performance requirements
All these mistakes can add up to a disastrous experience in production. Services are slow or won’t scale up, or business applications are unreliable.
How to calculate the true costs of performance issues
- Engagement costs: These involve the outlay at the start of the assignment. There’s the cost of tools and licenses, test infrastructure, and then the maintenance costs of your tool suite.
- Engineering costs: All activities—from aligning the test approach to data gathering, test implementation and test reporting—fall into this category.
- Defect resolution costs: Once a problem has been detected, we need to solve it. The solution could simply be a hardware upgrade or config change, but you might even need a redesign of the entire application.
Imagine spending an average of $5000 on In-Sprint performance testing for each defect that appears. If a similar problem leaks into production, your bill will be 5000 x 100 = $500.000. And that’s just for one performance issue.
According to research conducted by IBM, a performance defect discovered on production is actually 100 times more expensive.
Knowledge about performance-engineering tactics
The nature of our performance business demands a mix of developers, an architect and an infrastructure and business analyst. They all need to have both a strong technical background and a problem-solver mentality. Such niche-level skills are hard to catch, and have their price.
A few weeks ago I read this neat little story that underlines just how valuable experience can be—even for a multi-billion dollar business!
A certain company was facing a critical response-time issue in their business applications. All their troubleshooting failed to identify the root cause of the problem. Their only hope was to reach out to their former performance architect, now retired. One of the company managers went to visit this man, who was now living in Florida, and explained the problem. Initially, the performance architect wasn’t happy about taking on the job, but after the manager had outlined all their failed attempts to solve the problem, he agreed to step in.
The retired performance architect then traveled to the company’s office and began to investigate. After an hour or so, he carefully reviewed the captured data and created a bug report. He then demonstrated how to reproduce and fix the performance problem. The developers followed his specified steps and succeeded in fixing the problem. Business soon returned back to it’s former level once the problem had been resolved.
When the performance architect sent in his invoice a few weeks later, the financial team of this multi-billion dollar business were shocked. He charged $50.000. When the payment team reached out to him and asked for a detailed breakdown, he provided this short and simple explanation:
Bug report: $1
Knowing where to look: $49,999
In a word, the real driver behind successful performance engineering teams is experience.
- Test early
- Remember the value of experience
- Identify performance clashes before production to avoid a huge expense
Keep on doing the good work. Happy performance testing!