It’s easy to think of software quality, testing and QA as a technical process that is off the CIO’s radar: not strategic enough.
But the reality is very different. Almost every business depends on software and, increasingly, software drives innovation, differentiation, customer experience and stock market valuations. Poor quality software is, simply put, bad for business.
If you want your organisation to improve software quality and deliver services and applications that meets the needs of your business and delivers a reliable experience to your customers, CIO oversight is essential to create a system of delivering it.
Take the following steps to revamp your software development process, and ramp up the software quality it delivers.
1. Improve defect prevention and testing
If a client finds a severe defect in a product you’ve shipped, it may already be too late: even if that bug is fixed later down the line, that customer might be gone forever but the damage to your reputation remains.
Just take Internet Explorer: Microsoft couldn’t escape the browser’s reputation for poor usability and a buggy interface. After many years of trying to re-establish the software’s domination of the browser market, they resorted to releasing a brand new browser.
Good testing is essential for finding bugs and getting rid of them before your product is on the market. As CIO, you need to know how to assess your test team, as well as how to communicate with them and work with them to continually improve the testing process.
Of course, bug testing is important; but it’s not a bolt-on, last-minute check. Preventing sickness is better than curing it, and preventing software defects early is better than finding and fixing them later.
2. Help everyone to help your test team
Software quality isn’t just the responsibility of the test team, it’s the responsibility of your whole team.
Your staff need to start taking ownership of software quality. Don’t allow team members to simply shift blame to each other: remind your team to focus on ‘what went wrong’, not ‘who made the error’.
Make software quality one of your core business aims. Keeping on schedule and sticking to budget might seem like the most important things, but ultimately, the customer experience will determine the success or failure of a piece of software.
Remind your team of this by organising for staff members to visit customers and see how they are using your software in a real life environment. Without input from real customers, developers often end up seeing the world through from their own perspective. It’s the difference between ‘it meets the specification’ and ‘customers love it.’
3. Learn from defects
Failure holds value, but only if you learn from it. Make sure your team are capitalising on their failures by:
- Properly logging software defects.
- Noting flaws and efficiencies in their process.
- Channelling those records into active improvement.
A blame-free just culture is essential for companies that want to learn from their mistakes and not repeat them.
‘Real failure is trying something, learning it doesn’t work, and then continuing to do it anyway. That’s my definition of failure,’ says Astro Teller, Captain of Moonshots at Google X.
Even with a job title like ‘Captain of Moonshots’, Teller’s words hold true for more mundane projects in everyday businesses and apply to people with more prosaic job titles like Chief Information Officer.