Invest in high quality code now to avoid financial and reputational losses in the future.
Sonos certainly felt the heat this summer. The smart home sound system’s new app was found to be so full of bugs and so poorly designed that it led to 100 staff layoffs, delayed two hardware launches and will cost $30 million to put right.1 Appeasing its frustrated 15 million customers could cost even more.
Sonos’ app serves as a cautionary tale to any company looking to launch software without ensuring its code is squeaky clean first.
When you accept poor quality coding, you add risk to your operations and your public image. So, even if your industry is a world away from smart speakers, unit testing will be music to the ears of your IT team.
What is unit testing?
Unit testing is the practice of testing individual pieces of code before they’re implemented into the wider system. By breaking software down into the smallest components, developers can test each isolated function to ensure it behaves exactly as intended.
By using this process, developers can find errors and bugs before they’re embedded into the software and become much harder to detect. The software is then far less likely to break as the faults have already been pinpointed early on.
In short, unit testing ensures developers produce high quality, robust code, first time round, and helps the code to be maintained when it comes to future updates.
Skip unit testing at your peril
When software goes wrong, it can go very, very wrong.
Take Volkswagen, for example. Drivers of its electric ID cars have complained of bugs affecting everything from infotainment screens and range calculations to the ability to charge their vehicle. One customer has described their experience with Volkswagen’s software-based functions as being like “death by a thousand cuts.”2 The situation became so dire it cost the CEO his job.3
Users of the Nest thermostat found a software bug was leaving them out in the cold when it failed to heat peoples’ homes in the depths of winter. And, most recently, Cloudstrike’s faulty software update for Microsoft Windows crippled banks, hospitals and airlines around the world. Cloudstrike has since lost a fifth of its value in trading, in addition to severe damage to customer trust.
Such significant bugs suggest insufficient unit testing and code maintenance. This might be due to several reasons. Prioritising the launch of new features and the pressure of time constraints is a common one. The perceived complexity of unit testing, inadequate tooling and expertise, or an overconfidence in the existing code’s quality are also culprits.
Yet, the consequences of not unit testing can be costly:
Why unit testing is an investment worth making
There are direct and indirect cost savings achieved through unit testing. These include:
Ask your potential suppliers the right questions about testing.
By understanding unit testing, you can have more effective conversations with future suppliers. You can specify the development process you wish to initiate safe in the knowledge of how the upfront testing investment will mitigate extra costs and risks over the product’s lifetime.
Ask your potential software providers what testing they embed into their development process, and quiz them on how they intend to deliver you bug-free code. Your bottom line and the future reputation of your business depends on their response.
Ask your potential software providers what testing they embed into their development process. And ask them how they deliver bug-free code. Because the future reputation of your business depends on their response.