Thursday 29 September 2016

Specification By Example

“The formulation of the problem is often more essential than its solution, which may be merely a matter of mathematical or experimental skill.”
- Albert Einstein

The image on the left is a Dutch proverb, meaning "Setting a good example to follow". It exemplifies the Specification by Example idea.

In short, I managed to follow a one-day course on Specification By Example1, by InfoSupport2 at my place of work (which was convenient) along with a collection of my colleagues.

It seems that in the past there were different terms for the same thing, for example ATDD (Acceptance Test Driven Development) and BTDD (Behaviour Test Driven Development). Martin Fowler shared all these under the heading of Specification by Example.

The main goal here is to create living documentation, documentation that evolves along with the software and is therefore always up to date. It also provides a common domain language that can be used by everyone in the company, be it business analysts, software developers, project managers, stakeholders, product owners, etc.

Once proper examples are created using this domain language, these examples can function as the templates for the creation of tests. At work we use Gherkin and Cucumber4 to get these examples written down.

Along with the course I was provided with the book3 on Specification By Example, and I look forward to reading it.

References

[1] Trainingen - Driving Development by Example - InfoSupport
https://training.infosupport.com/trainingen/driving-development-by-example
[2] InfoSupport
http://www.infosupport.com/
[3] Specification by Example - How Successful Teams Deliver the Right Software
Gojko Adzic
[4] Wikipedia - Cucumber (software)
https://en.wikipedia.org/wiki/Cucumber_(software)
Impact Mapping
https://www.impactmapping.org/
Jeff Patton, Product Manager, Agile, Lean, UX and Product Design Evangelist
http://jpattonassociates.com/

No comments:

Post a Comment