While most teams are sold on the idea of using Scrum, when rubber hits the road, most teams are left asking questions that Scrum does not provide the answer for.
We will look at three common issues facing Scrum teams:
- How to perform Product Backlog Refinement sessions effectively?;
- How to deal with regression testing?; and
- How to maintain documentation of system behaviour?
There are four concepts that assist Scrum teams with these issues:
- Collaborative Analysis
- Executable Specifications
- Test Automation
- Living Documentation
Collaborative Analysis is an approach that enables Scrum teams to collectively refine their requirements and establish what’s known as Concrete Examples. Concrete Examples are clear and specific scenarios that demonstrate how a product is intended to behave.
Through the use of certain tools (e.g. Cucumber), teams can turn the Concrete Examples (that can be understood by both technical, and non-technical people) into Automated Tests, or what’s known as Executable Specifications.
As an added benefit, because these Automated Tests are based on examples of how the system is supposed to work, they serve not only for quality assurance, but also automatically generate documentation. This documentation is known as ‘Living Documentation’.