Quality Management in the World of Scrum and Agile IT System Development

[article]
Summary:
Russell Pannone was asked, "Does quality assurance have a place in agile software development?" His knee-jerk answer was yes, but what form and function quality management takes depends on many factors.

Recently I was asked, "Does quality assurance have a place in agile software development?"

My knee-jerk answer was yes, but what form and function quality management takes depends on many factors. Some of these factors are:

  • Are you in the business of making and selling heart monitoring instruments or basketballs?
  • Is your business highly regulated by State, Local and Federal government?
  • Does your business employ 6 or 60,000 people?
  • Are your employees co-located or spread out all over the world?
  • Are there in place stringent corporate policies and procedures to ensure compliance with the Sarbanes-Oxley Act ?

Let's start by agreeing quality is everyone's (the team's) responsibility and should be second nature to business analysts, architects, developers, etc. and not just the sole responsibility of a quality analyst. Quality Management (QM) should be viewed a fully integrated management and software development philosophy and approach to be practiced throughout the organization from top to bottom and consistently applied and "kaizened"[1] day in and day out.

Dr. W. Edwards Deming, who is considered by many to be the father of modern quality management simplified quality management into an iterative four-step problem-solving process; Plan, Do, Check, Act (PDCA) as depicted in Figure 1.0.

rp0309-1

Figure 1.0 - The Deming Quality Cycle

Looking first then at quality management in the world of Scrum, a popular agile product development lifecycle, we see it aligns very well with the PDCA cycle:

  • Plan - Release and sprint planning.
  • Do - Team and customer collaboration by elaborating on requirements, doing some design, doing some coding, creating builds and doing some integration, and doing some testing [2], in one time-boxed pass through a product development lifecycle.
  • Check - Concurrent testing, continuous integration, daily stand-ups, showcase and end of a sprint retrospective.
  • Act - Adapt the way the team works based on what was learned from the retrospective.

Now in the more traditional sense Quality Management is a set of three essential and interrelated parts as depicted in Figure 2.0.

  • Planning
  • Quality Assurance
  • Quality Control

rp0309-2

Figure 2.0 - Quality Management

Delving into quality assurance, let's take a look at how practicing quality assurance might take shape in an agile software development effort:

  • QA integrated into every team - A member of the QM team is now an active participant in a sprint planning and a sprint.
  • QA testing role - If the role of Quality Assurance Analyst exists in your organization the Quality Assurance Analyst is accountable for helping the development team identify how they know when a story or task is "done". They help define done by co-developing tests with the team that anybody can run including the QM person. They also help determine how best to implement that test (manual or automated, which tools, etc.)
  • QA team adaptation - If the role of Quality Assurance Analyst exists in your organization the Quality Assurance Analyst could lead your sprint retrospectives. The Quality Assurance Analyst will be the ambassador for the team doing the right things to ensure an eye on quality is built into the teams' way of working. The Quality Assurance Analyst will also ensure that all action items from the retrospective get reflected in the work in future iterations and releases and monitor the progress as action items are addressed.

Now with an eye on quality control let's look at the monitoring of specific Scrum artifacts and outcomes, as depicted in Figure 3.0.

rp0309-3

Figure 3.0 - Iteration Lifecycle in Scrum

Stating the obvious, at a minimum and integral to any agile software development project, there should be evidence of a product backlog, sprint backlog, and the emergence of

About the author

TechWell Contributor's picture TechWell Contributor

The opinions and positions expressed within these guest posts are those of the author alone and do not represent those of the TechWell Community Sites. Guest authors represent that they have the right to distribute this content and that such content is not violating the legal rights of others. If you would like to contribute content to a TechWell Community Site, email editors@techwell.com.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Sep 22
Sep 24
Oct 12
Nov 09