We’ve been using Behaviour Driven Development (or BDD) internally at Loft for a while, and the other day we had a super interesting conversation with a client about it too.
Essentially BDD is a set of tools and techniques to ensure a development project remains focused on what the business actually needs, while meeting all requirements of the user. It enables non-technical people to write English language descriptions of business requirements, that are then translated into automatic tests that verify in realtime that code is indeed doing what is required.
This is a great way to have confidence in the integrity of large and complex systems, where a change to one component can have an impact elsewhere, and where no individual can realistically know how everything works.
The link below is to an intro to this technique by its pioneer, Dan North.
(The cartoon above is the famous “How the customer explained it…” meme. You can create your own version at www.projectcartoon.com)