Can we improve how we collaborate with BDD?
During this presentation, Ryan will go through a number of different techniques and workshops that teams can run in order to collaborate effectively with BDD.
These practices look at how teams can discuss scenarios collaboratively providing different options to ensure a shared understanding.
Let’s take our Givens through to Thens to the next level!
3. think sharprmckergowRyan McKergow |
What is BDD?
“Behaviour-driven development is an “outside-
in” methodology. It starts at the outside by
identifying business outcomes, and then drills
down into the feature set that will achieve
those outcomes. Each feature is captured as a
“story”, which defines the scope of the feature
along with its acceptance criteria.”
Dan North – Creator of BDD
Refer to this article by @tastapod: http://bit.ly/dan-north
4. think sharprmckergowRyan McKergow |
Or… (a very simplified definition)
“ BDD aims to explain the behaviour
of a system in easy to understand
language. This language is shared by
the entire development team.”
Ryan McKergow (paraphrased from another technical
explanation on http://behaviourdriven.org)
5. think sharprmckergowRyan McKergow |
What does it look like?
Scenario: [Title – explains the activity]
Given [some context]
And [some more context]
When [a single event/trigger happens]
Then [an outcome happens]
And [another outcome happens]
7. think sharprmckergowRyan McKergow |
What does it look like in practice?
Scenario: Signing up for Facebook
Given Fred is signing up for Facebook
And he provides the required details
When he submits his request to signup
Then a Facebook account is created
And Fred’s email address is set as his username
And a confirmation email is sent to Fred
9. think sharprmckergowRyan McKergow |
We use our shared language
for conversations
“Behaviour Driven Development
(BDD) practitioners use
conversations about concrete
examples to build up a common
understanding of what features will
deliver real value to the organisation.”
John Ferguson Smart – BDD in Action
14. think sharprmckergowRyan McKergow |
We’re focused on communicating
via our BDD as written text only…
Refer to this article featuring @TotherAlistair: http://bit.ly/agilecomms
15. think sharprmckergowRyan McKergow |
We’re need to be at the
other end of the spectrum
Refer to this article featuring @TotherAlistair: http://bit.ly/agilecomms
18. think sharprmckergowRyan McKergow |
Level 1 - Story Reviews
The concept of reading through and reviewing
you BDD scenarios within the Story with the
development team.
Steps to run a Story Review:
1. Business Analyst (BA) writes BDD scenarios
ahead of the Sprint
2. Read through and review with team
3. BA incorporates changes & feedback
4. Team starts development when assigned to the
Sprint
21. think sharprmckergowRyan McKergow |
Level 2 – Story Kickoffs
The concept of visually explaining the Story and
BDD scenarios to the development team when
commencing development.
Steps to run a Story Kickoff:
• BA writes BDD scenarios ahead of the Sprint
• Story Kickoff held when Story is ready for
development within the Sprint
• BA visually explains the Story & each scenario
• BA incorporates changes & feedback during
development
24. think sharprmckergowRyan McKergow |
Level 3 – Story Workshops
The concept of the team collaboratively defining
the Story and what BDD scenarios need to be
covered.
Steps to run a Story Workshop:
• BA organises Story Workshop ahead of Sprint
• Development team defines the Story & highlights
what BDD scenarios need to be covered
• BA writes BDD scenarios
• Team starts development when assigned to the
Sprint
27. think sharprmckergowRyan McKergow |
Level 4 – Pairing / Mob BDD
The concept of a few members or all members of
the team defining the Story and writing the BDD
scenarios together.
Steps to run Pairing / Mob BDD:
• Team gets together (ahead of Sprint OR when
ready for development)
• Defines the Story & writes the BDD scenarios
together
• Team starts development when assigned to the
Sprint OR immediately!
29. think sharp
Collabora'on in BDD
can be a Given
1. What is BDD?
2. Collaboration in BDD is not a Given
3. Techniques to level up collaboration
with BDD
§ Level 1 - Story Reviews
§ Level 2 - Story Kickoffs
§ Level 3- Story Workshops
§ Level 4 - Pairing / Mob BDD
31. think sharprmckergowRyan McKergow |
Innovation,
Agile Transformation,
Project Delivery?
Looking for a career in
We’re hiring!
Visit: elabor8.com.au/careers
32. think sharprmckergowRyan McKergow |
Image references
1. Facebook, (2015). Facebook - Log In or Sign Up. [online] Available at: http://facebook.com [Accessed
15 Nov. 2015].
2. Schiffer, B. (2015). Bernd Schiffer on Twitter. [online] Twitter. Available at:
https://twitter.com/berndschiffer/status/611773018772103168 [Accessed 15 Nov. 2015].
3. Agilemodeling.com, (2015). Communication on Agile Software Teams. [online] Available at:
http://www.agilemodeling.com/essays/communication.htm [Accessed 15 Nov. 2015].
4. North, D. (2007). What's in a Story?. [online] Dan North & Associates. Available at:
http://dannorth.net/whats-in-a-story/ [Accessed 15 Nov. 2015].
5. Webweaver.nu, (2015). [online] Available at:
http://www.webweaver.nu/clipart/img/misc/food/fast-food/hamburger-layers.png [Accessed 15 Nov.
2015].