Exploring requirements with Specification by Example
With chapters selected by Kamil Nicieja
  • May 2018
  • ISBN 9781617295577
  • 79 pages
Exploring requirements with Specification by Example
With chapters selected by Kamil Nicieja
Great software starts with a meaningful description of its users and intent. Exploring requirements with Specification by Example is a collection of hand-picked chapters selected from three novel and insightful books. We hope they'll give you a glimpse at how to write clear specifications in a collaborative, purpose-driven way.

In Exploring requirements with Specification by Example you'll get an overlook of key process patterns essential for using a specification by example approach. Next, you'll go on a whirlwind tour of behavior-driven development and how to implement the basics into your pipeline. Finally, you'll learn how to pick great scenario outlines to use in your documentation. Altogether, you'll have the right frame of mind for writing specifications that improve the quality and usefulness of your software!

What is Specification by Example?

The clearest way to communicate a software specification is to provide examples of how it should work. Specification by Example is a collaborative method for specifying requirements and tests by collecting and documenting use cases. The method brings four great benefits to your team: it produces living, reliable documentation anyone can read; it defines expectations clearly and makes validation efficient; it reduces rework; and, above all, it lets everyone know that the end product is built exactly for its purpose!

This powerful technique is fully documented in Specification by Example by Gojko Adzic.
Table of Contents detailed table of contents

Key Process Patterns

2 Key Process Patterns

2.1 Deriving scope from goals

2.2 Specifying collaboratively

2.3 Illustrating using examples

2.4 Refining the specification

2.5 Automating validation without changing specifications

2.6 Validating frequently

2.7 Evolving a documentation system

2.8 A practical example

2.8.1 Business goal

2.8.2 Scope

2.8.3 Key examples

2.8.4 Specification with examples

2.8.5 Executable specification

2.8.6 Living documentation

2.9 Remember

What’s inside:

BDD—​The Whirlwind Tour

2 BDD—​The Whirlwind Tour

2.1 Introducing the train timetable application

2.2 Determining the value proposition of the application

2.3 Requirements analysis: discovering and understanding features

2.3.1 Describing features

2.3.2 Breaking features down into stories

2.3.3 Illustrating the stories with examples

2.4 Implementation: building and delivering features

2.4.1 Going from examples to acceptance criteria

2.4.2 Setting up Maven and Git

2.4.3 Executable specifications: automating the acceptance criteria

2.4.4 Automated tests: implementing the acceptance criteria

2.4.5 Tests as living documentation

2.5 Maintenance

2.6 Summary

What’s inside:

Choosing Examples for Scenario Outlines

5 Choosing Examples for Scenario Outlines

5.1 Example shopping application

5.2 Writing outside-in scenario outlines

5.2.1 Collecting examples for outside-in scenario outlines

5.2.2 Writing outside-in scenario outlines from collected examples

5.3 Finding key examples for scenario outlines

5.3.1 Domain-specific examples

5.3.2 Counterexamples

5.3.3 Exploratory outcomes

5.3.4 Boomerangs

5.4 Avoiding scenario outline anti-patterns

5.4.1 Typical data validations

5.4.2 Simple combinatorial outcomes

5.4.3 Database models

5.4.4 Classes of equivalence

5.5 Answers to exercises

5.6 Summary

What’s inside:

index

Symbols

About the author

Kamil Nicieja is a seasoned engineer, architect, and project manager with deep expertise in Gherkin and SBE.

FREE domestic shipping on three or more pBooks