Quality Management in Agile Projects – Tips for Success

Quality Management in Agile Projects is different than a traditional waterfall project. An agile approach focusses on shifting the role of quality earlier and continuously throughout the development lifecycle. Waterfall methods validate quality towards the end of a project, making bug fixing costlier. When teams transition to agile they sometimes struggle integrating their testing activities into an agile framework like Scrum.  The role quality plays in agile is an interesting topic because it can seem like a grey area.  It’s not as clearly defined like it is in waterfall.  The agile manifesto doesn’t directly call out quality.  

Understanding Quality Management in Agile Projects is important because high-quality, working software is one of agile’s biggest advantages.  Working software has to actually work, and it must also meet the customers expectations of value.  Not just by going through a checklist of test cases, but also from a user experience standpoint. 

Quality Is Organic In Agile

When embraced, the Agile Manifesto provides high-level quality guidance for building valuable software. It forms the golden rule for all agile teams, regardless if you are Scrum, Kanban, XP, or other frameworks. Let’s take a look at Agile Values:

Individuals and interactions over processes and tools:

Agile testing bases itself in the testers’ continuous interaction and communication with the rest of the team throughout the software lifecycle, including the customer.  It’s not just a one-way flow of information from the developers or the business analysts on specific project milestones. Agile testers must be involved in the project requirements, design, and development. They must have constant interaction with the entire team, especially with the customer. Testers are co-owners of the user stories, and their input helps build quality into the product instead of checking for quality in the end. 

Working software over comprehensive documentation

Working software is the primary measure of progress (Principle #7).  Agile values working software more than documents, so we always look at ways to keep the documentation lean and ‘just enough’ while concentrating on real value creation.  But the working software has to meet the customers quality expectations as well.  These are communicated through user stories, acceptance criteria, and the definition of done. 

Customer collaboration over contract negotiation

Agile has a customer-centric outlook where user satisfaction and experience takes precedence over everything else. Testers need to apply the same approach to their testing, constantly looking out for the customer’s best interests and needs. They will need to question everything based on their perceptions of the user’s actual requirements, convenience and satisfaction.  They have to get in a mindset beyond just running through a checklist of marking pass/fail on a set of test cases.

The Role of Quality Management in Agile Projects

Agile approaches quality management much different than waterfall.  Where waterfall does have several testing cycles before releasing to production, agile methods are far more collaborative and iterative. Testing happens throughout the project.  Agile requires regular collaboration between testers, developers, BA’s frequently through daily stand-ups, sprint reviews, and retrospectives.

 Agile Quality Characteristics

  • Quality is the responsibility of the entire team.  Good agile teams have developers who also think like testers and testers who think like developers. 
  • Quality is proactive and built into the product. Defects shouldn’t be allowed to occur and quality is not considered an afterthought.  But when they do happen, teams work in such a way to find those issues early in development and fix them.  High-performing agile teams go upstream in their process to eliminate defects at the source, making the process that produces the product reliable.  Inspecting and testing after the fact and queuing up defects to fix at a later time isn’t effective and increases risk and cost. 
  • Agile teams test early and often.  Developers should think like testers and testers should think like developers.  Teams should look at development strategies such as Test Driven Development, Behavior Driven Development, and pair programming.  These are just a few examples.  Testers should be writing their test scripts the first day of a sprint and they need to work with developers from the start.  Waiting too long into a sprint before testing risks turning into a mini-waterfall project. The result is testing activities occur later and the team risks not completing their work.  Worst case is that work will end up moving to the next sprint.

Tips to Ensure High Quality Using Agile Development

Tip 1: Maximize Agile Ceremonies to Ensure High Quality

The basic ceremonies in a typical agile project provide an opportunity to continually ensure quality. Standard ceremonies include Release Planning, Sprint Planning, Daily Standups, Sprint Reviews, and Sprint Retrospectives. Each ceremony provides an opportunity to validate and verify quality:

  • Release Planning – Defining the release features allows opportunities for quality definition. The business has an opportunity to define the level of quality expected in regards to functionality, business value, performance, and many other attributes.
  • Sprint Planning – The team will discuss how to build functionality to meet acceptance criteria.
  • Daily Stand-ups – Each daily stand-up provides an opportunity to check quality on a daily basis.
  • Sprint Reviews – During sprint review, the users and stakeholders have the opportunity to inspect what the team has built, giving another opportunity to ensure the functionality provides value.
  • Sprint Retrospectives – this is an opportunity for the team to reflect on how well the team did and provides an opportunity to set action plans to improve their process for the next sprint.

Tip 2: Ensure a Good Definition of Ready

The Definition of Ready (DoR) defines criteria a story must meet before being taken into a sprint.  The value a good DoR provides is it reduces the possibility of errors and defects due to misunderstandings and/or ambiguity in the requirements. A good DoR will minimize wasted time if the team gets bogged down trying to clear up poorly defined requirements during a sprint.

A Good Definition of Ready:

  • Provides a quality gate to protect the team from poorly formed user stories by the business
  • Reduces the possibility of errors and defects due to misunderstandings and/or ambiguity in the requirements
  • Minimizes wasted time in trying to clear up poorly defined or incompletely defined requirements in the middle of a sprint
  • Teams should review often – at least once a month

Tip 3: Ensure a Good Definition of Done

A clear Definition of Done (DoD) drives the level of quality required to produce a potentially shippable product. Each agile team should have a DoD that is comprehensive to the entire team.  The DoD sets a level of quality that must be met.

Tip 4: Ensure Each User Story Has Clear Acceptance Criteria

Acceptance Criteria is a set of conditions that must be met before the customer or stakeholder accepts a Feature or User Story.  It is typically provided by the product owner.  Acceptance criteria is the result of a conversation between the product owner and the development team. In addition, acceptance criteria:

  • Captures business criteria that must be met for a user story to be complete.
  • Represents the quality requirements expected by the customer.
  • Specifies the conditions under which a particular user story is fulfilled

Tip 5: Use Retrospectives to Improve Quality

During sprint retrospectives, the team reviews their processes and how they worked as a team. It provides a golden opportunity to improve their processes, team interaction, and quality. This is a good time to find any circumstances that led to defects, and then brainstorm how to remove those causes so they don’t happen again during the next iteration.

Summary

Using these techniques, following agile best practices, and having an agile mindset will help drive quality to another level. Quality Management in Agile Projects is a team effort and begins with good servant leadership.

I hope this article will help you drive quality to the next level using agile tools and best practices. If you would like further information on user story writing or have any questions, please contact us.

If you like this post, please share using the share buttons below:

Leave a Reply

Your email address will not be published. Required fields are marked *