How much could software errors be costing your company?Posted May 9, 2022 | 10 min. (2009 words)
Errors are an inevitable part of building software. But while you can’t eradicate them, you can definitely mitigate them. If you don’t measure, track or resolve errors, you’re ignoring a loss in revenue.
It’s time to pay attention to how much software errors are costing your company and take action, catching them early with methods like smarter testing and crash reporting. Using a few industry averages, you can put a number to the real cost of software errors in your company and start to plug cash leaks like wasted developer time and lost customers.
Software errors and their impact
According to the Consortium for Information and Software Quality, poor software quality cost US companies $2.08 trillion in 2020. These losses span all business sectors and include costs from operational failures, unsuccessful projects, and software errors in legacy systems.
Operational problems contributed the largest share, with $1.56 trillion in losses. In February 2020, more than 100 flights were disrupted at Heathrow Airport because of a software “glitch.” In December 2020, Google’s Services were down for 45 minutes because their system couldn’t recover from a storage problem. In March 2020, Finastra, a leading banking software provider, was forced to take its systems offline due to a ransomware attack. And this isn’t a diminishing problem. According to Cybersecurity Ventures, cybercrime costs alone will reach $10.5 trillion annually by 2025, and the US will shoulder at least one-third of that cost.
The cost of software errors to your company
Software errors expose your end-users to slow, buggy software. Or worse, compromise the security and safety of your products. However, many businesses don’t have visibility into their software errors, so measuring them and their impact can be tricky.
Finding and fixing bugs is the single most significant expense in an application’s lifecycle. If your system completes its expected 25-year lifecycle, you’ll spend nearly 50 cents of every dollar isolating and fixing software errors.
And, of course, that’s only taking into account the time and money you’ll spend fixing defects. How much money did you lose to missed opportunities or unhappy customers? Let’s look at how much software errors are costing you.
Developer labour costs
Any time your developers spend finding and fixing bugs is time they’re not writing new features. And as we just covered above, finding and fixing bugs is the biggest ticket item in your development lifecycle. How much does it cost you?
- According to VentureBeat, developers spend 20% of their time fixing bugs
- The average salary for a Software Engineer in the USA is hovering around $100,000
- That’s about $20,000/year lost to software errors per developer
Your unaddressed software errors affect end users and cause lost revenue. This is where support costs start to mount. And let’s be honest — fixing software errors is low-cost, reactive work.
You should be aiming for around 20% reactive work (finding and fixing errors, support costs) and 80% proactive work (building features and improving your products) rather than vice versa. This is where you’ll add real value to the business and your users.
A huge component of the bug fixing process is the time spent triaging and diagnosing issues. That’s why we built Raygun Crash Reporting, which automates this process, and why our customers tell us that they see a 50-90% reduction in the time it takes for them to identify and resolve errors. Crash Reporting frees up your developers’ time so they can add value to your customers.
Based on a 40 hour work week, the average software developer spends 32 hours fixing errors and replicating issues each month. Taking the average wage of US$100,000, this equates to US$1540 worth of development time per month spent on reactive work.
If you have 50 developers, the combined 1,600 hours of reactive work could potentially ramp up the cost of software errors to US$83,000 in lost time per month.
That’s time spent away from building regular features for customers. Reducing 1,600 hours by 50% to 800 hours would save your company US$41,500 every month in time while increasing overall product and software quality.
Customer loss because of software errors
We know how website performance affects user behavior:
Consider a large national pizza delivery company.
Let’s imagine that their e-commerce site generates five million errors per month (not unusual in a large company) because of engineers releasing new features and services.
If only one percent of those errors affect the order or checkout process, at $50 per order, the potential impact in lost revenue is $2.5 million per month.
Loss of investor trust
Boeing’s Starliner has suffered from problems related to software errors since 2018. In December of 2021 a second attempt to launch the craft failed. Nasa originally awarded Boeing nearly US$5 billion to develop the craft, but at this point they’re looking to competing vendors.
As of 83 2021, Boeing had reported losses totaling $595 million related to the project, and their stock price has suffered significant losses when compared to other airline and space industry companies.
Opportunity loss and suspended growth
There are many cautionary tales of failed and struggling software projects. A 2020 Standish Group report found:
- When evaluated in terms of time and budget, only 35% of projects are successful.
- 19% percent of projects are canceled.
- 47% of projects have problems with timescales, budgets, and produce low-quality products.
According to Standish, this 19% failure rate has remained consistent.
These figures make it clear that software errors don’t just lead to lost development time and customers. Poor development practices can literally halt company growth.
How do you turn this around?
The first thing is to realize that no software team is perfect, and a goal of zero bugs isn’t realistic — it’s harmful. Success is about tipping the balance in your favor.
One example is Microsoft Office. We all know how buggy this program often is, even in 2022, and if a massive company like Microsoft with an unlimited budget still has software errors, you can’t expect perfection, either.
Preventing software errors is better than fixing them
As errors move through the software development lifecycle, the cost of addressing them increases. It’s always more cost-effective to fix them earlier.
When you’re working in development, you often have less data. You only use one browser and tend to use the software as intended. Plus, you probably already have a debugger on your machine.
The major problem with bugs in production is the lack of supporting tools. Developers have no visibility and no way of debugging to figure out where a problem is coming from, unless they have a tool like Raygun to shine a light on issues.
Production is a much more hostile environment than development or UAT. Once issues are found in the front-end, they are more complex to diagnose and resolve. So, find and fix errors early and often. Jacek Materna, CTO at Assembla, agrees:
“One of the best ways we deal with bugs is empowering all of our individual developers to avoid bugs in the first place. We continuously deploy and use test-driven development, but one of our greatest assets is one of individuals and interactions: a rigorous code review process.”
Which leads us to better testing.
The truth is that automated testing is still under-developed, so manual testing is here to stay. Poor testing methodology costs a lot of money in wasted time and can result in a diminishing scale of return.
For example, if your testing process is too thorough, your team will produce new features faster than you can test them, and you’ll end up with a backlog of features waiting to be deployed to production.
Many senior engineers write unit tests to check critical parts of the code. If you haven’t written tests previously and are working on a legacy codebase, then add unit tests whenever you find software errors. This approach builds up a unit test set over time and proves that the fixes are being made.
Finding software errors is where most of the labor time is wasted (that reactive work we talked about earlier.) A tool like Raygun does the heavy lifting for you, alerting your team to errors in real-time. There’s no need to dedicate 20% of your resources to finding software errors when your team can know instantly what’s wrong and where. If you get the stack trace, you can solve the problem faster: