6 What is formulation?
This chapter covers
- The importance of unambiguous documentation
- Some popular documentation formats amenable to automation
- An introduction to Gherkin
- The benefits of living documentation
- A taxonomy of scenario granularity and purpose
Formulation is the process of turning a shared understanding of how a system should behave into a business readable specification. On one level this is a trivial activity, since formulation usually produces specifications that are very close to natural language. However, like BDD itself, formulation, while simple, is not easy.
BDD is an approach to software development that emphasizes the collaborative aspect of software development by linking requirements, documentation, and tests. It is made up of three practices, shown in Figure 6.1, which illustrates the order that the BDD practices should be applied to each small increment of functionality in your application. So, by the time your team is formulating scenarios for a user story, that story should already have been analyzed collaboratively (in discovery). It’s the concrete examples generated during discovery that form the raw material that will be formulated into business readable scenarios.
Figure 6.1 BDD practices