code4thought

SOFTWARE QUALITY

Why your Software Technical
Quality is vital
for Business Growth

04/11/2022

4 MIN READ  /

Author
Artemios Kouniakis
Software Consultant | code4thought

Is the Technical Quality of your Software Good Enough to Achieve Business Growth?

The CEO’s Top 10 Strategic Business Priority Areas for 2022-2023 as given by “The Gartner survey of CEOs” puts tech-related responses as the second priority with Growth being the first one. In our view, this is not coincidental and underlines the importance of technology for the future growth of any business organization.

To complement, EY’s partner John De Yonge says “To realize sustainable competitive advantage CEOs must embrace three interconnected value drivers: humans at the center, technology at speed, and innovation at scale.” in his article “The CEO Imperative: How can today’s leaders realize tomorrow’s opportunities?”

It seems then that both Gartner’s survey and EY’s partner article are promoting the following messages.
  • Technology is a top priority and the main driver for the sustainable future of an organization.
  • The vehicle for an organization to achieve growth is the realization of competitive advantage.
Our team’s motto at code4thought is “We Make Technology Trusted & Thoughtful” and the heart of the technology is the software. You see, our company comes to evaluate and monitor the quality of any software system and analyzes AI-based systems and their datasets to help organizations govern them. As published by “Stripe” in September 2018 (The Developer Coefficient: Software engineering efficiency and its $3 trillion impact on global GDP) the Global GDP loss from developer time spent on bad code annually is estimated to be $85 billion. Moreover, developers (28%) and C-level executives (34%) put AI as their top selection to the question “Which of the following technology trends, if any, are having the greatest impact on your company today?”.
We will focus on software quality which can be a differentiation factor regarding cost reduction and optimization. As we will see below, these two aspects are the baseline for an organization to achieve a competitive advantage.

Why is competitive advantage a factor to achieve a sustainable future and growth for your organization?

The essential goal of an organization is to outperform its competitors to increase its revenue, achieve better margins and generate value for its stakeholders. As such, a Competitive Advantage is a key to achieving this goal.
The 3 main strategies to establish a competitive advantage are Cost Leadership, Differentiation and Focus, and below you will find their definitions for this article.
Cost leadership is the ability of a company to utilize economies of scale and produce products or services lower than that of its competitors. The result of this strategy is to increase revenue by minimizing costs. In our case, minimizing the current and potential costs of software and investing in software quality, would result in cost minimization and budget control.
Differentiation is a strategy where a company’s products or services are differentiated from that of its competitors. If the company manages to differentiate successfully, it would be able to sell at a higher (premium) price. Investing in software quality would give agility and speed to development that would result in fast implementation of customer-specific requirements.
Focus strategy directs marketing and sales efforts to a specific market segment. This strategy seeks to exploit underserved or undiscovered segments of a target market. Because this strategy applies to specific market segments which in most cases are characterized by increased costs and a short customer base, investing in software quality would create a monopoly effect that would be extremely costly for new investors entering the market due to its special characteristics.
Considering that software in modern society is ubiquitous, what should be defined is its importance and its quality as well as how it can become a competitive advantage for an organization. What is the best way to define it other than by demonstrating real-world examples of software failures which incurred multi-million dollars? The examples below are from the list of the top 2018-2020 IT failures in the news (Author, CISQ. Title, The Cost of Poor Software Quality in the US: A 2020 Report).
  • Home Depot: On 11/21/2020, six years after its 2014 data breach, Home Depot agreed to pay US states $17.5 million for an incident that compromised the payment card data of 56 million individuals.
  • Heathrow Airport Disruption: On February 16, 2020, more than 100 flights were disrupted when their departure and check-in systems were hit by “glitches.” This was fixed by the next day.
  • Google Plus Security Glitch: A vulnerability in the Google+ social network exposed the private information of nearly 500,000 people using the social network between 2015 and March 2018. The major part of the problem was a specific API that could be used to gain access to non-public information. The software glitch allowed outside developers to see the name, email address, employment status, gender and age of network users. The error had been discovered in March 2018 and rectified immediately.
  • NASA/Boeing Starliner: NASA awarded Boeing nearly $5 billion to develop the Starliner spacecraft, which is built to carry as many as five people. Now more than three years behind schedule, the project is under heavy scrutiny from a NASA investigation. Additionally, NASA confirmed that Boeing’s Starliner suffered not one but two major software defects during that test flight. The latter software problem could have caused “catastrophic spacecraft failure,” a panel of NASA safety experts said if Boeing had not caught the issue during the mission. The second software issue was a piece of code that could have caused two pieces of Starliner – its “crew module” and “service module” – to collide in orbit before the spacecraft re-entered the atmosphere. “What we wish we’d done better was the software, so there’s a lot of learning there,” Boeing Senior VP Jim Chilton said.
In summary, the cost of poor quality software in the US in 2018 is approximately $2,84 trillion which can be separated into 5 main categories of failures as given by the CISQ report.
  • Losses from Software Failures (37,46%)
  • Legacy System Problems (21,42%)
  • Technical Debt (18,22%)
  • Finding/Fixing Defects (16,87%)
  • Troubled/Canceled projects (6,01%)

What does good quality mean in the software world as defined by ISO 25010?

The quality of a system is the degree to which the system satisfies the stated and implied needs of its various stakeholders, and thus provides value. Those stakeholders’ needs (functionality, performance, security, maintainability, etc.) are precisely what is represented in the quality model, which categorizes the product quality into characteristics and sub-characteristics.
Functional Suitability is essential to adopt Differentiation & Focus Strategy due to the need for fast pace changes and the existence of specific requirements that match to a small customer base.
Performance efficiency can be a pillar of the Cost Leadership strategy. When an organization works on a large customer base, investing in performance efficiency would result in the minimization of the cost per transaction and the speed of interaction with the users. The result of this investment would be to decrease the overall cost of software usage by increasing the expected revenue.
Compatibility, Usability, Reliability, and Security are very important aspects of all the strategies since we are in a connected world where the users want to interact with different services from different providers without issues easily and securely. If this does not happen, the customer is reluctant to use your software.
Maintainability is a very important aspect of all the strategies but especially for the Cost Leadership and Differentiation strategies is essential. Specifically, in the current situation of business competition, decreasing time-to-market by increasing the provision of quality to your customers would result in a competitive advantage. A highly maintainable system would give a speed on bug fixes and short time-to-market which results in fewer costs and increased revenue.
Portability is an important aspect of the Cost Leadership strategy. Being able to change and adapt in a fast-paced environment would decrease costs and increase performance for your software which results in budget minimization and revenue increase.

The Aftermath

The prioritization of software quality could give a huge competitive advantage to the company that would incorporate this aspect into its budget. The incorporation of software quality into the budget would give the company visibility to potential costs, increased time to market, increased fixed costs but lower variable costs, and finally customer satisfaction and trust.
These aspects can be found in all the different strategies for acquiring a competitive advantage which indicates the importance of software quality in recent and following years.