The importance of software quality and it's correlation to enhancing an organisation’s performance and user satisfaction cannot be overstated.

We live in a digital age where consumers expect high quality products and services at reasonable prices and for them to be available at the time of need. A survey of around 1800 executives for the World Quality Report 2023-24 found that quality has emerged as a key boardroom priority and you don’t have to look far to see the shocking impact of poor software quality. The Consortium for Information & Software Quality’s (CISQ) Report on the Cost of Poor Software Quality shows that $2.41 Trillion, plus an additional $1.52 Trillion in technical debt, was lost from the US economy alone in 2022. Whilst the highly publicised, Post Office – Horizon IT scandal, continues to have a devastating impact on the victims’ lives and has severely damaged the reputation of the Post Office and its delivery partners. With so much at stake, one question to start with is: 

Why do organisations fail to get the most out of their technology change programmes?  

IT delivery is complex and challenging. In most cases, the services being created will be developed by multiple teams, with multiple technologies and lots of integration points being required to successfully connect people with technology and realise the intended business value. 

All Programmes and Projects need to manage the key constraints of time, cost and risk - factors which form the quality triangle. These factors need to be appropriately balanced throughout delivery to enable businesses to succeed. The complexity and scale of programmes can create an imbalance which forces stakeholders to make trade-offs that reduce software quality.

Although seemingly prudent at the time, decisions made on this basis can themselves lead to delivery failures. The 5 most common are;       

  1. Delivery teams rely on only testing to ensure quality, focussing on testing to detect issues instead of other quality activities that prevent issues.  
  2. Testing is treated as a separate phase as opposed to an integral and continuous activity that all teams across delivery need to participate in. 
  3. Testing is only considered once the code has been written, this is simply too late and leads to delayed feedback and lower quality software. 
  4. The breadth of testing is too narrow with too much attention being to what the system needs to do, with insufficient focus on how well it needs to do it. 
  5. Nobody is responsible for end-to-end quality across all teams and technologies that shape the services being designed. 

When these types of misinformed decisions are made on complex and challenging programmes with multiple teams working on releases, it is no surprise that software quality is compromised resulting in consequences that negatively impact organisations, employees and customers. 

What can be done to improve software quality and prevent IT disasters?  

When Government Agencies run ‘quit smoking’ campaigns, Police Forces promote crime prevention and the NHS strives to avert diseases we all understand the personal and societal consequences of a failure to act. Yet, whilst proactive prevention is also a crucial component of software delivery, it is often omitted.  

Software quality can be improved by fostering a culture of 'prevention over detection' in all teams, going beyond testing for widespread quality practices, and integrating testing as a continuous activity throughout the pipeline for effective software delivery. By adopting preventive measures within your software Quality Assurance process, you create the ability to minimise costs, reduce time to market, and implement solutions that address diverse user needs and drive your business forward. 

The Prevent, Detect, and Recover (PDR) thinking tool first proposed by Anne Marie Charrett can be used to establish the culture and mindset required. Applying PDR makes everyone responsible for quality across ALL delivery, as opposed to deferring this responsibility to a separate testing phase.   

 

Figure 1 - Prevent, Detect, Recover

 

1. Prevent: collaborative activities that can be performed to prevent failures from happening in the first place.

2. Detect: discover and eliminate failures before deployments and releases.

3. Recover: enable faster recovery from production issues that can negatively impact your business.

 

All quality and testing activities should be underpinned by an automation first approach that accelerates delivery and minimises risk. 

Incorporate PDR into your risk-based assurance approach to orchestrate end-to-end quality with significantly reduced risk. We have tailored our Risk-Based Assurance Approach to align with the Government Digital Service (GDS) methodology. This is based on our extensive experience of orchestrating end-to-end quality for all user needs in complex, challenging, multi-vendor programmes across the Public Sector.

 

Figure 2 - The Risk Based Approach For GDS

 

Our extended GDS approach builds in quality and addresses risk from the outset of delivery.  

Underpinned by the Prevent, Detect, Recover (PDR) principles, the approach and method ensures everyone takes responsibility for quality across all aspects of delivery. We work with all delivery partners, to ensure effective collaboration around requirements and risk, to proactively prevent issues from happening. An automation first approach is taken to accelerate detection and recovery, enabling you to discover and eliminate risks that could negatively impact your users and reputation. Testability and Observability is considered from the outset to make sure that you make it easy to test against risks as early as possible and to ensure that you build and test based on what’s needed in production.  

As defined by Sogeti in the TMAP body of knowledge, the need for the Quality Orchestrator role is critical to drive the cross-team collaboration on risk for all quality characteristics as defined under ISO 25010. This must happen from the very start of each release with the Quality Orchestrator taking on responsibility for organising and coordinating end-to-end quality of business processes and services that need to be supported by multiple IT components and systems.  

Given the inevitable consequences of omission, building in software quality is crucial for organisations to succeed and enhance its reputation. Adopting risk-based assurance approaches is vital to proactively prevent issues, with continuous collaboration throughout releases being key. Our approach ensures enhanced collaboration on all risks, resulting in superior products and services. Key benefits include:  

  1. Substantially reduced risk, preventing issues affecting customers and employees.  
  2. Enhanced software quality, boosting user satisfaction.  
  3. Increased automation for faster issue detection and recovery.  
  4. Competitive advantage through swift response to user and market demand.  
  5. Maximised ROI by reducing costs and delivering sustainable business value.  
  6. Addressing all user needs with accessible and user-friendly solutions. 

At 2i, we are passionate about quality and our ambition is to prevent risks from becoming issues that negatively impact any organisation we partner with. 

How would you rate the quality of the software being delivered in your organisation? What will you do to help your teams prevent risks from becoming issues 

 

Want to talk about any of this? Contact us on LinkedIn or tweet us @2i_Group.