Saturday 22 August 2020

Behaviour-driven development is a Key Tenet of Nimble Organisations

 The first step in every project is a discussion about the behaviours of the product or feature to be built. A businessperson or client comes up to the development team and explains what they want.

Sometimes these interactions come in form of an user story, other times they come in the form of design documents, come as flowcharts or mock ups, or even hurried phone calls.

From these communications alone, the development team is responsible for constructing a system that “just works”.

This is especially difficult for freelancers working outside the larger system.

Behaviour-driven development focuses on the business behaviours the code is implementing: the “why” behind the code. It supports a team-centric (especially cross-functional) workflow.

From my experience Behaviour-driven development works really well when the developer and business person sit down together and write pending specifications:-

  1. The business person specifies behaviours they want to see in the system.
  2. The developer asks questions based on their understanding of the system, while also writing down additional behaviours needed from a development perspective.

Ideally, both parties can refer to the list of current system behaviours to see if the new feature or behaviour will break existing features.

This collaborative approach lets the developer focus on what the feature provides for the end user, and having the business person right there constrains the developer to talk about behaviour, not implementation.

Behaviour-driven development is about collaboration & communication, and collaboration & teamwork are the key tenet of a Nimble Organisation.

No comments:

Post a Comment