At the recent CukeUp 2015 conference during a panel discussion an attempt was made to describe what Behaviour-Driven Development (BDD) actually is, and for Paul Rayner it was clear that BDD is a community centred on key values and principles still open to adding new practices, not a community focused on boundaries and exclusion.
Rayner, working as a team coach and design mentor in DDD and BDD, refers to writings by anthropologist Paul Hiebert for the origin of the terms bounded vs. centred set as applied to a community. Creating a bounded set means defining some essential characteristics that an object must have to be added to the set. The boundary is clear; an object can be added or not, never halfway. With a centred set a variation between objects is accepted, instead focus is on how objects are moving relative to the centre of the set. Only objects moving towards the centre are part of the set, irrespective of the distance.
If BDD was a bounded set a number of essential characteristics would be defined, mandatory when doing BDD, e.g. working with specification by example and TDD. Maintaining the boundary would be crucial in determining who is doing BDD, clearly separating out those not doing BDD even when they are claiming so.
With BDD a centred set, as suggested by Rayner, it is defined by the principles and key values the community holds to be central, and he believes they were clearly enumerated during the panel session. He notes that even those starting to learn about BDD, thus being away from the centre, are still considered BDD practitioners as long as they move towards the centre. Rayner emphasizes that there still is a clear division between doing and not doing BDD, doing waterfall excluding all collaboration cannot be called BDD.
Liz Keogh recently wrote that defining BDD is hard, with a methodology derived from many other methods and philosophies she finds it difficult to draw a boundary, instead she thinks of BDD as an anchor term, at its core are conversation, collaboration and scenarios together with ways to automate them, around the core are a number of other practices and tools bringing their knowledge to the BDD environment.