Additional Specification By Example Benefits
We have been using Specification by Example for some time (as a part of our Cranked process). There are some immediate obvious benefits to using Specification by Example that are well known such as: Improved communication between business and technical people, elimination of vague and ambiguous requirements, laser-guided features based on executable versions of the examples, less time consuming, more accurate and many more.
Essentially, many of the problems teams are having with planning meetings and the many variations of planning meetings can be solved using a specification workshop that focusses on examples to communicate what is needed.
Having used this technique for some time, we have realised that it solves some other common problems in software development. In particular, it really puts the business / customer in the driving seat. If they specify something, they know that the behaviour will be added and will always remain – but they also realise that if they don’t specify it, it won’t exist. There is no longer any ambiguity about “who is in charge of all the assumptions”. At no point can anyone say “but of course records should be locked to prevent multiple users editing the same record” – it is either specified or it isn’t.
Now this isn’t to say that the technical team can now casually let the business take all the blame – it is simply that reliance on assumptions cannot occur when using Specification by Example and Executable Specifications. All of the assumptions can be exposed and turned into decisions and experiments with both business and technical people contributing to the discussion (this is exactly what the workshop is for).
We conducted a survey when we wrote about Cranked and found that (amongst other things):
- The planning meeting was a problem for 57% of teams
- Requirements were a problem for 62% of teams
(Source: Cranked: a lean and agile software development method. 978-1291919912)
If you are in the common situation where requirements or planning is a problem – Specification by Example will definitely help you to improve your situation.