Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing

Gojko Adzic (2009)
Review date: March, 2013 (read in April 2012)
Summary

This book comes in four parts and fourteen chapters. The first part is about the problem: There's a telephone game going on in software development! Requirements gathered by analysts get misinterpreted by both testers and developers, and this cripples development. However, if the communication is changed so that everybody is involved from the beginning, intent and not features is communicated, and realistic examples are used to illustrate the requirements, then a shared understanding can be developed. This is the core message of the book.

The second part of the book goes into deeper detail about how to achieve a shared understanding; it's about running specification workshops (a core technique), writing automated acceptance tests of the examples (to make sure that the requirements are implemented), and some details thereof.

Part three is about getting started with the specification workshop and supporting techniques in general, about user stories, and tools. 

Finally, the last rather short part is about what effects all of this has on the developer and tester professions.

Opinion

The central message of this book is quite simple: create a shared understanding, illustrate with actual examples, and turn these examples into automated acceptance tests. While simple in theory, it needs some clarifying. A book like this needs to describe the problem it's solving, which this book does very well. In the first part there are several good examples of how even trivial concepts can be understood differently by different people. Also, everybody who has been in the industry for a while will be able to relate to the problem of the telephone game. 

Then comes the solution, which sounds very natural and straightforward when presented in writing. In practice however, implementing what the book suggests is quite difficult, mostly because of organizational culture. Having said that, the book is too small to provide hints for all situations and difficulties that may arise when applying the techniques outlined in it. Also, the author states clearly that the book isn't supposed to be technical, which probably leaves many readers wondering: "What do we do now?"

I may not remember all details, since I read this book a year ago and am reviewing it from my notes, but when I come to think about it, I think that the average reader will feel extremely inspired (the author writes in a very reading-friendly way), but quite lost at the same time. There are many practical issues that need to be solved before actually employing the suggested way of working, ranging from running the specification workshop to implementing the tests. Everything is sort of covered, but I think you need some practical experience to truly appreciate this book. It does give the reader a compass, but no oars.

While from not being a cookbook, this book is very good in all other aspects. It identifies a problem and solves it, it's written in a relaxed and sometimes humoristic manner, it doesn't contain too many details, and still it sometimes deep-dives to answer some specific questions. It's also apparent that the author is very knowledgeable in the field and that he has encountered a project or two in his career. 

To me, this is still a classic. It's the prequel to "Specification by Example" and is the first book that truly explains what agile acceptance testing is about, with a certain flavor to it. I recommend that pretty much everybody should read this book. Business stakeholders, BAs, testers, and developers will all get some a-ha moments. It's easy to read and you'll finish it in a couple of evenings. The only word of caution is that while being very inspiring, the book may not contain all the answers you may need to get started, but that's contextual.

Who should read this book

This book is for readers who want to learn what agile acceptance testing is truly about.




News

  • 2015-09-29

    It's been almost one and a half year since I reviwed a book! I've been too absorbed by Writing my own. Anyway, I'm back with Jeff Patton's relatively...
  • 2014-01-04

    New category! Performance! Reviewed The Every Computer Performance Book. Check it out!
  • 2013-09-10

    Reviewed a book that' slightly less technical, but much more fun to read. It's I.T. Confidential.
  • 2013-08-13

    Reviewed yet another book on Visual Studio 2012 and TFS. I also created a "Microsoft" category and moved the other TFS book there from the "Tools"...
  • 2013-08-05

    Updated the FAQ. Included information about getting a book reviewed.