A step-by-step process for substantial savings.
AQL is a step-by-step process:
Convincing management:
One way of convincing management is to present the costs of non-quality to obtain a strong commitment. A project without AQL can result in post-delivery correction costs 10 to 100 times higher than if the problems were detected upstream (see below for the different types of cost possible).
Define quality objectives:
On the one hand, we need to ensure compliance with requirements and standards (ISO/IEC 25010 and 5055) and, on the other, validate user satisfaction. Objectives must be SMART (Specific, Measurable, Achievable, Realistic and Time-bound).
Focus on prevention:
Identify sources of non-quality and apply preventive corrective measures. Examples include regular code reviews and automated regression testing.
Improve the quality of deliverables:
Ensure that each deliverable meets the defined quality standards. Continuous integration and continuous testing are crucial to maintaining quality.
Measure your progress:
With a dashboard and a few well-chosen metrics, validate progress towards your quality objectives.
Ensure a continuous improvement process:
Use the Deming wheel method (Plan-Do-Check-React) to constantly improve software deliverables, processes and products. Set up retrospectives after each sprint to identify areas for improvement.
Strike a balance between speed and quality.
Fast delivery:
Pressure for rapid delivery can compromise quality. Tight deadlines can encourage shortcuts that increase the risk of bugs.
Balancing strategies:
Adopt agile and DevOps practices with a focus on quality assurance (QA) and quality control (QC). For example, integrate automated testing into the CI/CD pipeline to detect defects as early as possible.
Risk management :
Differentiate control techniques according to product criticality. For example, peer review may be more appropriate than cross-reading depending on the product deliverable. Safety and performance tests should be more rigorous for healthcare software than for a video game.
Enhance your quality program
Tools and training:
Integrate well-defined processes, anomaly management tools, and training on standards and best practices. Use frameworks such as Selenium for test automation, SonarQube for code analysis, and Jira for anomaly management (there are many other solutions, see which ones best suit your needs).
Quality culture :
Foster a Total Quality Management (TQM) culture where quality is a priority at every stage of the software lifecycle. Quality must be "global" along three axes: Quality, Cost and Delivery. Encourage teams to report quality problems without fear of repercussions.
Reporting a problem should not be synonymous with blaming another team member.
The costs of non-quality
Too often overlooked or ignored, the costs of non-quality manifest themselves on many fronts. They include
The cost of rework:
This is the time and effort spent identifying and correcting problems. Customer service support time: an error or defect means more time spent by the employee responding to dissatisfied users.
Time to market:
Defects create delays and therefore have a negative impact on product release. These are missed opportunities and revenues.
Loss of revenue:
Depending on the scale of the issues, users may simply opt for an alternative solution by adopting a competitor's product.
Tarnished reputation:
Some companies have earned an unenviable reputation for releasing products riddled with bugs (some video game manufacturers in particular come to mind). The result is a degraded brand image and (often) disaffected customers.
Less efficient resources:
By definition, teams that either produce poorly, or are responsible for correcting errors, are not efficient. These are man-day resources misused.
Team morale:
While we talk a lot about the negative impact on customers, poor-quality products also have repercussions on the morale and well-being of internal teams. Not only will the poor reputation of the product/their organization "contaminate" them, but this poor quality will also add to their workload.
When you read this non-definitive list of costs, you'll understand that they can be substantial and, what's worse, that they are somewhat interrelated, potentially causing a "domino" effect.
Conclusion
Software quality should not be a last-minute add-on, but a continuous and rigorous integration throughout the development process. Management commitment and a culture of quality are essential for optimized deliverables and maximum customer satisfaction.
To find out more :
Quality assurance: improve the quality of software deliverables, processes and productsQuality assurance: know how to integrate quality according to the context of your projects
Quality assurance: create your software quality and testing dashboards
Quality assurance: applying quality control techniques to projects