Agile

Specification By Example Workshop

Workshop Overview

Specifying collaboratively is a great way to build a shared understanding of the business domain and helps teams to produce specifications and tests that are comprehensive, easy to understand and highly maintainable. 
 
During a specification workshop, different roles participate in creating a single version of truth that captures everyone’s understanding of the implementation.  Realistic examples are used instead of abstract statements to provide clarity and precision.  A refined set of examples becomes a specification and an acceptance test, reducing opportunities for misunderstandings and misinterpretation of the underlying requirement and leading to much more valuable and accessible specifications.  The implementation of specification by example is also a strategic stepping stone towards achieving effective automated acceptance testing and a living documentation system.
 
The approach of using realistic examples for discussion and then selecting a set of them to concisely specify the system works with any development systems or methodology.
 
On an agile project, a specification workshop would be held for each development iteration.  For a more traditional waterfall or V model delivery, these workshops could be held over a couple of weeks during the analysis phase.  Tackling the requirements in order of priority is always helpful as the team are continuously focussed on the most important revenue-generating features and are able to respond to changing requirements more effectively. Focusing on important examples with input from stakeholders ensures that there is an appropriate investment in quality.
 
This workshop is intended to combine training on the technique of specification by example with a real specification workshop for an example project and a defined set of requirements.  
 

Learning Objective

 
By the end of the session attendees will be able to apply the Specification by Example technique to help them:
 
  • Collaboratively define a specification for development using examples
  • Align development, analysis and test activities
  • Deliver living documentation that will remain valuable after the project release
  • Achieve an in-depth shared understanding of the implementation
  • Remove opportunities for misinterpretation of the requirements
  • Identify edge cases and boundaries
  • Understand the most important examples that the system needs to cater for
  • Understand how to move towards selective automation.


Suggested Attendees


IT Managers, Project Managers, Test Managers, Business Analysts, Testers, Developers, Product Owners, Scrum Masters.


Detailed Course Content


  • An introduction to specification by example and why examples are everything
    • What is specification by example?
    • What are the benefits?
    • Key patterns of SBE
    • What makes a good specification with examples
    • Group exercise in SBE
    • Questions and group discussion
  • Specification workshop
    An interactive hands-on exercise.  The group considers only the top 10/20 examples for each story (more can be added later) but they must be the most important ones in the eyes of the stakeholder.  Testers may contribute negative scenarios, developers contribute edge cases, and customers contribute business scenarios
  • Implementing Specification by Example
    An interactive discussion on how SBE maps to various development methodologies and how to effectively introduce it into your organisation.
  • Executable Specifications and Living Documentation
    A discussion on tools and methods for capturing executable specifications in a living documentation system and some examples.
  • Summary and Review