The digital age CIOs can not afford to be average in these times of continual technological change-They don't have the luxury of crafting Greenfield IT solutions to automate their mission-critical business processes. Digital technologies have been at the center-from mobile-first technology to cloud to artificial intelligence -that have reshaped the competitive landscape and disrupted business models.
As a CIO or technology leader, you oversee this state-of-the-art digital technology-that in turn drives your firm's time to market, risk profile, and cost structures as you deliver a complex mix of products and services for your business. A good CIO understands the importance of creating high-speed business value without compromising their IT systems' quality.
However, many firms are not good at this 'balancing' act-The software quality objectives often lag behind the time to market objectives-incurring a high cost of poor quality.
"Poor quality software costs businesses over $2 trillion."
"The cost of poor software quality in the US in 2020 was approximately $2.08 trillion, according to a report produced by the Consortium for Information and Software Quality (CISQ) and sponsored by Synopsys."
The main categories representing different components of the cost of poor software quality (CPSQ) are:
1. Cost of Unsuccessful IT/Software Projects
2. Cost of Poor Quality in Legacy Systems
3. Cost of Operational Software Failures
4. Cost of Cybersecurity and Technical Debt
These staggering costs of poor software quality are worrisome. The digital age CIO must pay attention to this topic. You must focus and understand "The What, Why, and How" of this crucial issue: The economics of software quality. The numbers prove that many technology leaders are not good at the balancing act of delivering value at high speed without sacrificing quality. To be a high-impact CIO, It's time you ask yourselves some hard questions-that force you to think deeply about the tradeoffs between achieving business agility and high quality.
Are your productivity metrics weighted more towards planning and achieving business agility and not so much on measuring software quality? That helps you make the right tradeoffs between delivery speed, business risk, and technical debt?
In our anxiety to compete and thrive in the digital age, we often disproportionately focus on flexible enterprise architectures, agile, DevOps practices, small teams around top engineers, but undermine measuring our development projects' quality. Why do we make these inadvertent mistakes?
One of the chief reasons is our mistaken or incomplete idea about agile virtues-Having individuals with the right skills on your software team is vital to success-and that's not incorrect. We wrongly conclude that individual skill is the primary factor in achieving high quality, and this is from our experience with small projects. But as projects grow more extensive, with increased development team size, individual skills tend to regress to the mean.
The core of the problem lies with our inability to systematically measure the economic impact of quality-and how to use this information to deliver more business value at speed. Many teams don't measure quality in the first place; even if they measure, they tend to use metrics such as cost/defect or defects/Lines Of Code-that distort the economic value of quality. Many well-intentioned tech leaders have the misapprehension that high quality comes with high cost. In reality, high quality ends up with a lower price, shorter schedules, and a significant reduction in maintenance costs.
The good CIOs and tech leaders have a clear impression of what constitutes actionable data and how high and low quality affect software project schedules, staffing, development costs, and maintenance costs. Good CIOs do not disparage the empirical methods and in-depth data used for economic analysis of quality as bureaucratic.
The Economics of Software Quality by Capers Jones and Olivier Bonsignour is an excellent reference if you are looking for the most professional help to quantify the factors that influence software quality.
If it's your goal to deliver business value at high speed without sacrificing quality, then you must focus on:
- Estimating, predicting, and measuring software quality throughout the software lifecycle
- Defect prevention methods such as Six Sigma, Quality Function Deployment (QFD), Test-Driven Development (TDD), formal inspections, kaizen, and poka-yoke.
- Effective pretest methods such as static analysis and reviews to achieve efficient defect removal before the test
- Application of metrics such as Defect Detection Efficiency (DDE) and Defect Removal Efficiency (DRE) to measure the effectiveness and efficiency of the testing process
- Post-release defect removal, which adversely affects the quality economics in a big way
- Technical debt-the cost of fixing problems in working software that, if left unfixed, will likely cause severe business disruption
- Secure coding practices, robust and early analysis of source code for vulnerabilities, violations, and weakness