Specification by Example: Building The Right Things The Right Way

Specification by Example is a collaborative approach to defining requirements.

Introduction

Why is developing software so hard? Why do we keep making mistakes, why are we building the wrong features, and why do we create unnecessary bugs? You all know the frustrations: as a developer, a product owner, an analyst, a tester, as a stakeholder. We didn’t understand each other well and delivered wrong features. Details have been lost. Conversations haven’t been recorded well. Concepts have been misunderstood. Even though we work according to agile methodologies and can intervene and adjust in time, it’s still costly. It can undermine trust in each other and in the quality of our team and our products. But how can we prevent this?

There are many ways to improve the communication between all stakeholders, one of which is Specification by Example. It is not a technology, but a collaborative approach in software development, with a focus on describing and testing software requirements using concrete examples.

This session is not only theoretical in nature! My goal is to show - with practical examples - how you can start with Specification by Example: not only for describing specifications, but also to automate these specifications.

Some topics that will be covered:

  • Collaboration
  • Important processes
  • How to describe specifications
  • Joint language development (ubiquitous language)
  • Living documentation
  • Automating specifications
  • Pitfalls, failures and success stories

After this session, you will know how to use Specification by Example to improve the development process. You will know some pitfalls and how to make a start on a small scale. In addition, you will have sufficient knowledge to discuss Specification by Example with your team, client or employer.

If you prefer having hands-on sessions with your team, I also have a Specification by Example workshop.

Renditions