BDD & Agile Requirements ­ do it right!
Wiktor Żołnowski
Code Sprinters
http://agileszkolenia.pl  
http://fb.com/CodeSprinters  
http://blog.testowka.pl  
http://fb.com/innypunktwidzenianajakosc   
Twitter: @streser
@streser
Technology?
Customers?
What changed in the last 20 years in 
Software Development?
Relations...
And it is not the end...
Change is inevitable...
Three aspects of BDD & Agile Requirements
Requirements: 
What the stakeholders require? 
Functional Specification:
What the product will do to meet requirements?
Technical Specification:
How the product will provide the functionality 
Requirements => User Stories
Functional Specification => Examples, Acceptance Tests, 
Given/When/Then
Technical Specification => Unit Tests, Functional Tests, 
Integration Tests
@streser
@streser
As an <User>
I want <some action>
So <Goal> 
As an user
I want to log in into application
So I will be logged in
In order to <business goal>
As an <stakeholder>
I want <visible change in system>
Requirements
@streser
Coaching?
G oal
R eality
O pportunities
W ork
@streser
It is all about removing requirements 
which doesn't make any sense...
https://leanpub.com/agile­transformacje 
@streser
Functional Specification
BDD Loop:
1. Write an acceptance test...
2. Go into TDD loop until Acceptance Test 
is Green
@streser
Cynefin
Simple
Complicated
Complex
Chaotic
Disorder
1. Everyone knows how to 
do this
2. There are at least few 
people who know that
3. There is at least one 
person in our organization 
who know how it works
4. Someone, somewhere 
already done that before
5. No one ever done this 
before
B
D
D
E
xperim
ents
Libraries
Do not use BDD for everything!
https://cognitive­edge.com/library/more/articles/
http://lizkeogh.com/2013/07/21/estimating­complexity/ 
@streser
Next step...
Single Bath Flow
Continuous Delivery
Continuous Delivery does not mean that you need to 
deliver every change to production...
Continuous Delivery means that you can deliver your 
product to production at any time
@streser
Summary...
User Stories is a great tool for discovering 
requirements not only writing it down...
You do not have to use User Stories for everything... 
Single Bath Flow will allow you to do real Continuous 
Delivery
Continuous Delivery is also for business not only for 
developers...
Wiktor Żołnowski
wiktor@codesprinters.com 
Code Sprinters
http://agileszkolenia.pl  
http://fb.com/CodeSprinters  
http://codespritners.com
http://blog.testowka.pl  
http://fb.com/innypunktwidzenianajakosc   
Twitter: @streser

BDD and Agile Requirements (v 2.1)

Editor's Notes

  • #3 What changed in the last 20 years of Software Development Technology? Customers? I think that both... And especially Relations between business and IT changed. This is why we are looking for methods and frameworks like Scrum, Kanban or BDD