Do agile delivery frameworks neglect the importance of Quality Assurance?

Discover why QA is often overlooked in fast-paced development, and how agile delivery frameworks can incorporate QA practices to ensure high-quality software products

June 05, 2023

Brutal Facts of Testing

Agile methodologies have revolutionized the way software development is done, making the process more flexible, collaborative and responsive to change. However, the fast-paced, iterative nature of agile can sometimes lead to underemphasis on the importance of quality assurance (QA). With higher delivery frequency, time-boxed iterations, and inadequate attention to QA practices, there is a risk that development will rush into deployment. This can result in software products with functional defects or insufficient performance, which can adversely impact user experience and project success as well as inflict reputation damage.   

In this article, we'll explore the importance of QA in agile development, why it's often overlooked, and how organizations can embed QA practices into their agile frameworks to ensure high-quality software products.

Agile principles

Agile frameworks underemphasize the importance of QA

The role of QA in software development is to ensure that the final product meets the expected standards and user requirements. However, agile delivery frameworks are under pressure to deliver the minimal viable product (MVP) quickly, sometimes neglecting QA in the process. Some organizations suffer a stressful learning phase with an average of three MVPs deployed to production before they get acceptable results to roll out on a large scale. This can harm the relation between the development team and the Business Product owner. Other organizations may view QA as a luxury or an afterthought, focusing on delivering new features quickly to meet customer demand and overlooking regression testing.

Another reason why QA is sometimes overlooked is due to the fact that developers don’t always have the necessary expertise, resources, or time to carry out all QA activities to fully assure the quality of their own code because the focus lies on the rapid development of new functionality. Furthermore, developers are often more focused on the technical functionality and doing low-level unit testing instead of taking a business point of view. An external QA team works cross-functionally to cover all missing levels and perspectives, assuring a qualitative business outcome. Moreover, independent QA teams provide objective feedback from a comprehensive viewpoint, which is essential as developers may be too close to the code to identify potential defects or usability issues.

Several studies also suggest that agile development methodologies can result in lower-quality software products. To mention one, a study conducted by the National Institute of Standards and Technology (NITS) found that agile methodologies tend to result in higher defect densities than traditional methodologies. The study points out that this may be because some agile teams don't have the necessary resources to properly test and ensure quality.

Source: Antoni Shkraba

Prioritize quality assurance in your agile practices

Agile frameworks can be enhanced to explicitly incorporate QA practices:

  • Assure that each sprint includes time for comprehensive testing, documentation and other quality-related activities
  • Define acceptance criteria for each user story, task and add quality KPIs as a sprint goal to establish a culture of quality within the agile team
  • Split regression and progression testing and give regression testing proper attention to ensure it’s not overlooked in a rush to deliver new functionality. This is important to ensure that software quality is maintained over time
  • Provide training and education to the agile team on QA principles, practices, and tools to raise awareness and knowledge about the importance of quality and its impact on customer satisfaction, user experience, and overall project success
  • Implement a culture of continuous improvement to address QA concerns by regularly reviewing and reflecting on the quality of deliverables and identify areas for improvement    

Source: Christina Morillo

And: Ensure a qualitative outcome with dedicated quality assurance resources

Hiring dedicated QA specialists such as test architects or test consultants can ensure proper attention is given to QA activities. They bring expertise in testing techniques, methodologies, tools, and can collaborate with the agile development team to implement effective QA processes. An external QA specialist can conduct an independent QA review or assessment to identify and address potential quality issues, providing a fresh perspective resulting in quick wins.

Test should be involved in “Shift left”, providing feedback on issues as early as possible to the development team. They can also advise on which test cases to prioritize with a risk-based approach as well as how to test them, including which test cases are better suited for manual or automated testing. Introducing test automation and reporting early can help the development team track defined KPIs to get a clear overview of the quality state of the product, allowing additional QA measures when necessary.

Source: Andrea Picquadio

To summarize

In conclusion, while agile methodologies have many benefits, fast software delivery can lead to poor quality if the QA discipline is not given enough attention. To mitigate this risk, organizations that adopt agile practices should ensure that QA is integrated into the development process. This can be achieved by incorporating QA practices into each sprint, defining quality goals together with the acceptance criteria for user stories and tasks, providing training on QA principles, methodologies, and tools, and implementing a culture of continuous improvement.

Additionally, engaging dedicated QA specialists, such as test architects or consultants, will help ensure that QA activities are given proper attention. By embedding QA in agile practices, organizations can ensure a qualitative outcome and deliver high-quality software products that meet customer expectations, improve user satisfaction, and mitigate business risks.

 

Want to learn more?

To discover more brutal facts of testing, check our previous blogs:

Orchestrated Testing Within Continuous Delivery  

Why you should NOT undervalue testing

ChatGPT explores the brutal facts of testing

And to learn more about our services, drop us a message - Contact us | Sixsentix