11.2 The general view of agile with respect to the Quality theme
There is a lot of emphasis put on quality throughout the whole agile movement, and some of the most prominent agile techniques address this area (e.g. the definition of ‘done’ in Scrum and the general use of acceptance criteria). However, perhaps surprisingly, the Agile Manifesto does not contain the word ‘quality’, although it does refer to working software.
Acceptance criteria are commonly used in agile to ascertain whether a user story has been completed. See the glossary for definitions of ‘acceptance criteria’ and ‘quality criteria’.
Certain concepts that have evolved in most agile approaches are very different from traditional views about how to ensure quality. A Waterfall approach would typically see activities such as quality checking and testing take place after a product has been built. Agile takes a much more dynamic view and uses such concepts as integrating the testing and quality checking ‘as you go’, or even doing this before you start (‘test first’). This contrasts greatly with performing this afterwards or at the end.
In some agile environments there may not be a lot of emphasis given to quality planning and quality management during the start of a project, whereas there will usually be a lot of focus on quality control during product development. One approach commonly used in agile is to evolve the definition of quality gradually over time. This is achieved by refining and honing the definition of ‘done’ as work progresses. Another approach is to ensure that all of the quality-checking approaches and tests are written and defined before work commences on building the product.