Specification By Example

Specification By Example (SBE) is a collaborative approach to building valuable, high-quality software. SBE aligns your development team using realistic examples instead of abstract statements as the focal point for discussing, discovering, documenting, implementing and testing requirements. SBE is particularly successful for managing requirements on large-scale projects of significant domain and organisational complexity.

Get us better

Presented by Nigel Charman

This is a private event. Contact Vicky Price at education@assurity.co.nz for a consultation.

Specification By Example – also known as Behaviour Driven Development – significantly reduces feedback loops in software development leading to less rework, higher product quality, faster turnaround time for software changes and better alignment of activities of various roles involved in software development such as testers, analysts and developers.

Teams that apply Specification By Example successfully commonly apply the following process patterns:

  • Deriving scope from goals
  • Specifying collaboratively – through all-team specification workshops or smaller meeting
  • Illustrating requirements using examples
  • Refining specifications
  • Automating tests based on examples
  • Validating the underlying software frequently using the tests
  • Evolving a documentation system from specifications with examples to support future development

Developed by staff with an unmatched breadth and depth of experience using Specification By Example as coaches and consultants, testers and developers, this course will get you started with SBE, or take you to the next level if you’re already using it.

Learning outcomes

By the end of this course, attendees will be able to:

  • Describe the SBE process patterns
  • Explain the benefits of using SBE
  • Run effective specification workshops
  • Create specifications with examples
  • Utilise patterns for analysing examples
  • Use ‘Gherkin’ language to describe examples
  • Use recognised good practices for refining and documenting examples and critique examples that exhibit poor practice
  • Understand how to evolve a living documentation suite from the executable specifications
  • Determine how SBE would alter current team process and roles and the impact this has on day-to-day activities


This can be run as a one or two-day course. Your whole team should attend this course to start them on their journey of change to implement effective SBE practices.

Print/Share Course Description

Specification By Example


This course requires no prior knowledge and is aimed at your whole development team.

Specification By Example Automation

Once your team is specifying examples collaboratively, many benefit from automating those examples as tests. The automation validates that the system is meeting expectations, forming the basis of a living documentation system.
This additional one-day course extends the Specification By Example course to introduce SBE automation to your team. It is available as a private course.

Learning outcomes 

By the end of this course, attendees will be able to:
  • Describe how SBE/BDD fit into a balanced test strategy
  • Create specifications and automate examples using a supported SBE/BDD tool
  • Use tool-specific features to evolve the specifications into a living documentation suite
  • Utilise good practices for layering automation code to enable re-use across other types of testing
  • Explain how SBE/BDD tests are used within a Continuous Testing/Continuous Delivery approach to provide fast feedback with confidence
  • Address some of the challenges with test automation such as data management, data isolation, parallel testing, service management
  • Evaluate using a test-first approach to SBE, sometimes known as Acceptance Test Driven Development (ATDD)
  • Appraise how SBE fits with their other development practices including microtesting (unit testing) and TDD

This course is specific to those members of your team who are implementing the automation for your SBE/BDD tests. Typically this will include your testers and developers, although other disciplines are welcome to attend.


This course requires some basic programming knowledge in the language that your team will be using to automate the examples as tests. Staff without this knowledge, but with an interest in understanding the automation, are welcome to attend and will be paired with suitably skilled team members. For Day 2, attendees must bring a laptop per 2 attendees, with a relevant integrated development environment installed (e.g. Eclipse for Java, Visual Studio for C#).


**only available in conjunction with ongoing coaching**

Search the Assurity website (Hit ESC to cancel)