A comprehensive guide to software quality management
Table of contents
1. Introducing software quality management
The global software market is estimated to have generated USD $702 billion in 2024 alone. With every sector increasingly reliant on software, the pressure to deliver high-quality products has never been greater.
Businesses today must manage diverse software portfolios, from traditional programs to cutting-edge AI models. However, many fail to grasp how software quality directly impacts their bottom line, productivity, and innovation capacity.
So, despite our world’s increasing reliance on software, the quality of it often goes underappreciated.
Software Quality Management (SQM) can help embed software quality throughout the software development lifecycle, reducing its overall cost, improving efficiency and performance, and shoring-up cybersecurity.
But what does “software quality” mean? In this guide, we’ll examine how SQM helps organizations define, measure, and achieve it by showing the fundamentals of:
- Software Quality Management as a process
- Functional vs non-functional requirements
- The link between cybersecurity and Software Quality Management
- Technical debt and software quality management
- The advantages of implementing SQM in your business
- How SQM can reduce the total cost of ownership of your software portfolio
- Optimizing Software ROI with SQM
2. Stats revealing the need for software quality management
3. Quality management in software engineering
Software Quality Management is a process businesses can use to assess and maximize the quality of their software. It is composed of three interconnected techniques:
- Software Quality Assurance (SQA) – Preventatively establishing software quality standards, checks, and guidelines.
- Software Quality Planning (SQP) – Proactively planning to integrate these standards into the development lifecycle.
- Software Quality Control (SQC) – Reactively testing and reviewing software at each step to ensure quality goals are met.
Together, these techniques ensure that quality of software systems can embedded throughout the Software Development Lifecycle (SDLC).
Software quality defined
While we all have an idea of what quality means, in the case of software development, it’s worth briefly defining what this entails.
Software quality comprises three key dimensions:
- Functional quality: This measures how well the software serves its users. Does it meet the required goals? Is it easy to use? Are there any bugs that impact its reliability, security, or overall function? Does it run slowly?
- Nonfunctional quality: This looks at how the code is organized. Is it set up for testing? Can you change the code without causing new bugs? Is the code easy to read, effective, and secure?
- Process quality: This evaluates how well the development process works. Did the team deliver the product on time and within budget? Can the process be repeated to provide value consistently?
To clarify the difference between these 3 quality perspectives, let’s use a simplified analogy where we’re not writing code, but baking pizzas:
- Functional quality: Imagine evaluating the pizza based on taste, appearance, and whether it matches the menu description and customer expectations. A pizza that is flavorful, visually appealing, and satisfying, achieves high functional quality.
- Nonfunctional quality: Consider the dough’s integrity. Does it hold the rest of the pizza together? How easy is it to make changes to the recipe or add topics? Is the kitchen clean and organized? Are the ingredients fresh? Are there safeguards to prevent harmful contaminants? Structural quality ensures the pizza’s foundation is robust, just as clean, maintainable and secure code supports software longevity.
- Process Quality: How quickly is the pizza order fulfilled? Is the kitchen workflow optimized to maintain speed and consistency? Can the process be replicated seamlessly? Is there enough time to come up with new recipes? For the chef, it’s essential to come up with a smooth and efficient process, just as it is in software development.
Just as good pizza parlors refine their recipes and workflows for consistently great pizzas, software quality management identifies areas for improvement across these three dimensions and ensures sustainable, ongoing enhancements.
In this guide, we’ll focus on the importance of non-functional requirements in the software development lifecycle and how software quality management can help your organization.
4. Functional and non functional requirements in software engineering
Most QA teams focus primarily on functional requirements—whether the software does what it’s supposed to. However, ignoring non-functional aspects like maintainability, scalability, and security can lead to costly oversights.
Software Quality Management highlights both functional and non-functional requirements, ensuring software is efficient, secure, and adaptable to future needs—i.e., not just what the software does, but how it does it.
To go back to our simplified pizza analogy: If we were only concerned about how the pizza looked and tasted, we’d be missing out on a lot of important risks, and opportunities.
In other words, the metrics for ‘software quality’ should be redefined: software is not high quality simply because it fulfils a function, but rather it can only be considered high quality when it fulfils its function efficiently, safely and securely.
And the best part? By improving the non-functional aspects, it becomes a lot easier to improve the functional quality too.
Software quality attributes
To ensure software quality is truly embedded throughout a product’s lifecycle, SQM takes an “inside-out” approach to quality management, starting with the improvement of various non-functional requirements. These can include:
- Maintainability
- Security
- Compatibility
- Capacity
- Availability
- Scalability
- Performance
5. Software security issues
It’s no secret that cybersecurity risks are escalating, and have been for a while.
Recent data shows that in Europe alone, more than 10 terabytes of data are stolen every month. In the US, they found that the average cost per data breach for businesses in 2024 reached $4.88 million, and, in the UK, a concerning 32% of businesses have reported experiencing a cyber breach or attack in the last year.
The unfortunate reality is that 66% of organizations are planning to increase security investments as a result of a breach. Why wait and start fixing when it’s already too late, while you can act and prevent instead?
At Software Improvement Group, our research team has found a direct link between software quality and the presence of vulnerabilities. This indicates that lower software quality tends to lead to a higher occurrence of cybersecurity risks.
The reason is quite simple: Lower-quality software is tougher to understand, change, and test, increasing the chances of mistakes. Poor design, architecture, and processes can also lead to more security risks in the future.
And the impact is probably bigger than you think, how big? What if we told you lower quality software systems tend to have 85% more chance of increased vulnerabilities?
The challenge with security risks is that, regardless of how sophisticated your systems may be, eliminating all vulnerabilities is not feasible. However, improving software quality can significantly mitigate these risks and assist in pinpointing vulnerabilities before they can be exploited.
6. Technical debt and software quality management
Technical debt—which The Wall Street Journal recently called the “invisible $1.52 trillion problem“—occurs when software is built quickly but not well, accumulating inefficiencies over time.
To clarify, let’s go back to the simplified pizza analogy: Just as it’s more difficult to bake a pizza in a cluttered and dirty kitchen, adapting and developing software in a messy codebase will inevitably impact its quality. This ‘mess’ is what’s known as ‘technical debt.’Something you can ignore for quick and short-time gains, but something that will cost you eventually once you build up too much of it.
At SCOPE 2024, SIG’s expert Werner Heijstek spoke with Keylane‘s IT Director Cor van Herk, and revealed that McKinsey & Company’s experts estimate 20-40% of an organization’s tech estate is tech debt.
When Werner boldly asked the audience about the technical debt in their organization, it got really quiet. However, the reality is that technical debt comes with the territory. Instead of asking if you have it, the real question should be how to manage it.
Technical debt is not just a simple “house-cleaning” task; it is a critical issue that serves as an anchor, hindering the progress of any technology-driven initiative. Companies that dedicate time to addressing it thoughtfully and carefully will be better positioned to leverage technology for driving revenue and innovation at scale.
7. The advantages of software quality management
It can be challenging to implement Software Quality Management into an existing business. Doing so requires a shift in mindset and often retraining on the part of IT leadership and their coding/software development teams.
SQM also tends to require an initial financial investment and can be difficult to implement across the organization’s entire software portfolio.
This is why we think it’s important to understand the many benefits of introducing SQM into your business—so that you can weigh up the pros and cons and ultimately make a more informed decision.
Below is a list of the key benefits to Software Quality Management.
Reduce software maintenance costs
SQM reduces maintenance costs by integrating quality development practices early in the software development lifecycle (SDLC). According to IBM, defects found post-production or after release can cost 15 times more to fix compared to errors resolved early in development.
Manage technical debt
SQM helps manage and reduce technical debt, ensuring it remains manageable over time.
During our the same SCOPE 2024 IT leadership event, Cor van Herk, also outlined the proactive steps his organization took to effectively manage it.
While reducing technical debt is important, it is also good to note that some technical debt in your systems might pose minimal risks, while the technical debt in other places might be a lot more important to deal with.
At Software Improvement Group we can help you map the technical debt in your software portfolios, so that you can prioritize refactoring opportunities based on business impact and return on investment.
Increase developer productivity
SQM improves the efficiency of software development practices, which in turn enhances team productivity, shortens time-to-market, and boosts job satisfaction. Did you know that our data shows that non-functional high-quality software can accelerate time-to-market by up to four times?
Indeed, development teams spent less time fixing bugs and ensuring systems stay operational. Instead, they can spend more time on innovation, adding new features, and launching systems faster than before.
TerraQuest, a UK-based organization renowned for its expertise in providing innovative and cost-effective Cloud based technology, used our Sigrid® platform to manage the rapid expansion of its tech team and the accompanying software development challenges.
By embedding Sigrid® into their workflow, they could manage the quality of their software. As a result they could reduce technical debt by 20% and increased SDLC release output by 15%.
Adhere to software compliance standards
Many industries must follow strict rules for data protection, privacy, and security. Not complying can be very costly; for example, Meta, Facebook’s parent company, was fined $1.2 billion for breaking GDPR rules.
By using Software Quality Management (SQM) practices, your software portfolio can meet current and future standards. For example, TBA Group, which specializes in port solutions and logistics software, acquired the ‘Information security, cybersecurity and privacy protection certification’ (ISO/IEC 27001) by using our Sigrid® platform.
Improve cybersecurity
With a proper focus on software quality management, you can shift-left and conduct security testing in the early stages of the SDLC.
As we discussed in our webinar, “Avoiding a false sense of cybersecurity”, it’s crucial to go beyond reactive measures and it starts with the source code.
Create future-proof software
Many organizations struggle with developing systems that endure beyond immediate needs. But especially when looking at your core systems, ensuring your software stands the test of time is crucial.
SQM helps to build long-lasting, dependable, scalable software which is not only high-quality now, but will continue to be high-quality in the future.
During his keynote, “The State of Software Quality” at SCOPE 2024, our CEO Luc Brandts highlighted the importance of building software for the long term.
To illustrate his point, he likened software developers to artists and equated writing high-quality code to Da Vinci painting his masterpieces. While emphasizing that, of course, not all systems should be a Mona Lisa. Those that are though, require exceptional attention and quality standards for maximum longevity.
8. How software quality management can reduce the total cost of ownership of your software
The total cost of software ownership (known as TCO for short) considers a wide range of financial and operational costs linked to managing your software portfolio. These costs can include:
- Energy costs (i.e., utility bills)
- Labor costs
- Maintenance costs (including technical debt and ‘Keeping the Lights On’, or KTLO costs)
- Costs associated with cybersecurity breaches
- The financial costs of non-compliance with software regulations and laws
- Opportunity costs (i.e., the costs of making the wrong choice)
SQM can help reduce these costs by ensuring software is maintainable, scalable, and secure from the outset.
9. Optimizing software ROI with software quality management
In a similar vein to reducing TCO with Software Quality Management, SQM can also be used to maximize the return on your software investments.
Enterprises may find that their software ROI manifests itself in ways which are not always purely financial. Certainly, there is the financial return of investing in building quality software. But in addition to this, return on investment could take the shape of:
- Improved operational efficiency
- Competitive advantage over competing businesses
- Reduced time-to-market
- Increased cybersecurity
All of these contribute to software ROI in ways which may not be immediately tangibly financial, yet which add financial value to your business in the long run.
Software Quality Management helps IT businesses to improve and ultimately maximize their software ROI by optimizing many of the non-financial avenues outlined above.
At the same time, investment in SQM as a business practice tends also to result in a quick and worthwhile return—such as can be calculated with Sigrid®, SIG’s ROI calculator for SQM. The return on investment in Software Quality Management, as with software more generally, manifests itself in distinct ways, including:
- Increased market adaptability
- Improved system availability
- Enhanced cost efficiency
- Tighter cybersecurity
- Improved compliance and regulatory adaptability
- Software systems are given improved longevity through scalability
10. Conclusion: Recapping software quality management
The quality of the software you use in your business, or develop for the market, plays a central role in determining how profitable, secure, scalable and maintainable, efficient and costly it is.
Implementing an SQM strategy in your company today can help you futureproof the organization, get ahead of the competition, and reduce risks and costs whilst maximizing profit.
If you want to get started with SQM, and want to get a clear overview of the current state of your software portfolio, we can help you.
Sigrid®, our software assurance platform, continuously scans your software portfolio to uncover vulnerabilities in your source code and ranks risks by severity and impact to your business. Our experts can guide you in enhancing the security and privacy of your software, addressing vulnerabilities before they become liabilities.