There was an amazing panel discussion at Cukeup yesterday. If you are interested in BDD I would recommend watching it when it is posted. For me, the main take aways were:
- BDD is a centered community rather than a bounded community. This means that there is no division between those that do BDD and those that do not. Instead, teams are closer to the principle or further away.
- The BDD principles should be defined as a set of examples.
This is a great opportunity to explain “Break the Model” in Feature Injection.
We start by spotting an example. e.g. The Three Amigoes. We then create an examplar:
GIVEN we can identify all of the users of an investment
AND we can access those users
AND we can confirm the output they require
AND we can confirm their needs for the output
AND we can confirm the value to the business by satisfying the users needs
WHEN we prepare our set of examples
THEN The Business Analyst, The Tester and the Developer should create the examples together
AND They should ask the users to confirm their correctness.
This one example is our model, so we can easily spot another example that breaks this model.
GIVEN we cannot identify all of the users of an investment
AND we cannot access those users
WHEN we prepare our set of examples
THEN The Product Manager, The UX Designer, The UX Researcher, The Big Data Analyst, The Business Analyst, The Tester and the Developer should create the examples together
AND They will confirm the examples using usability tests and MVT.
We now have two examples and we can abstract out a model. The purpose of the model (Olaf) is NOT to define the principle. The purpose of the model is to help us spot other examples.
The model we abstract is “Include someone representing every aspect of the the development process”
We now have another example:
GIVEN we are a start up containing a product manager and a developer only
AND we have customers prepared to work with us
WHEN we create examples
THEN the product manager, the developer and a customer should create an example together
AND we test the examples using usability and MVT.
We now abstract a new model “Inclusion”. The principle of BDD is that it is better to include as many people in the creation of examples as possible. Its a common sense thing though. Too many people in a single workshop can be disruptive and counter-productive. Those people not in the workshop should be engaged to confirm the correctness of the examples, and be encouraged to find additional examples that break the model.
Now that we have a model called “inclusion”, it helps us to focus on trying to find examples where someone should be excluded from the process of example creation.
“Inclusion” is a useful name for the Olf/Model/Abstraction. It is not a good name for the principle which is “The Three Amigoes” which refers to the first (founding) example in the principle.
The model does not define the principle. The examples do. We can add to the examples and as we do, the model/abstraction will change. The principle name will stay the same.
I’m looking forward to seeing the “BDD by Example” wiki.
April 3rd, 2015 at 6:27 pm
[…] feel “close” to the core of what I intended. Chris Matts recently wrote an article about the principle of Inclusion as a generalised case of the practise. I would go further and say that Inclusion in this sense is […]
April 6th, 2015 at 6:06 pm
Thought provoking stuff as always Chris. I like the perspective from which you viewed the Three Amigos.
One question, MVT?