bdd and agile requirements (v 2.1)
TRANSCRIPT
BDD & Agile Requirements - do it right!
Wiktor onowskiCode 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...
What changed in the last 20 years of Software DevelopmentTechnology?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
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
I want
So
As an user
I want to log in into application
So I will be logged in
In order to
As an
I want
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
BDD
Experiments
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 onowski
[email protected] Code Sprinters
http://agileszkolenia.pl http://fb.com/CodeSprinters http://codespritners.com
http://blog.testowka.pl http://fb.com/innypunktwidzenianajakosc
Twitter: @streser