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:
Once you have a fix ready, shipping it can be half the battle without automatic deployments. It’s easy for your developers to lose a whole day deploying a fix.
If you use a software intelligence tool like Raygun, you can also track your deployments to see which deployments and versions are creating the most errors.
Deployment tracking allows your developers to discover defects quickly in a deployment, and can roll it back, or rapidly patch the defect and push out a new build as a solution before end users (and sales) are affected.
This can shave hours off your development time. Invest time in building new features and creating excellent user experiences, not fixing bugs.
Prioritize your bug fixes
What’s more important — a bug that occurs 500 times?
Or 10,000 times?
Well, it depends. Which one is affecting your end-users more?
Amazon is famous for measuring the customer impact of all outages or errors. Prioritizing software errors this way will allow you to allocate resources accordingly, saving valuable costs throughout the Software Development Lifecycle (SDLC).
Having the correct tools in place protects your business right from the first line of code written. We designed our software intelligence platform for this reason — to give full visibility into software errors affecting your end-users:
This allows for better allocation of resources and protects end-users from having a poor experience. If the goal is to reduce the cost of software errors, prioritize your bug fixes with the end-user in mind first.
Encouraging a security-first approach
Security breaches are another huge contributor to lost revenue, often measured in billions of dollars.
Are companies just becoming lazy? Could breaches like Yahoo’s (cited as history’s largest) have been prevented? In 2016, millions of passwords and private information were publicly leaked thanks to a security breach. Yahoo recorded a 6.5% share price fall and a potential US$1 billion in lost funds.
It’s crucial to think about security early on, while the project is still in the ideation phase. Security is not an afterthought in your development process. By prioritizing security, you’ll help save the costs of a breach and all the associated damage control. When your developers understand the patterns and nature of your product’s errors, it’s easier for them to spot discrepancies and keep your code safe.
For example, Raygun Crash Reporting gives a detailed list of all your errors in one dashboard, so all it takes is a glance to see how many errors are thrown by your applications.
Providing a healthy work environment where employees can speak up does wonders for preventing security breaches, especially for developers who are in the code base all day long. Unfortunately, software security is not on the curriculum in most universities. Therefore, it falls on the business to provide best practices around security.
The more your development team knows about the health of your software, the more likely someone will notice when something is ‘off.’ Encourage and cultivate that in your company culture - it might just save you serious money.
The true cost can be hard to measure, but you can rescue lost revenue with better workflows and tools
The full cost of software errors can be hard to pinpoint, but having visibility into software errors is the first step to reducing the impact on your business. Focus on the mission-critical issues causing damage to your revenue in the form of buggy apps and lost customers.
By being aware of the details, you’ll shine a light on the issues that have significant consequences. You may just save your company billions.
To see for yourself how Raygun can give your development team total visibility into errors, claim your free Raygun trial.