Upload
ranjith-tharayil
View
262
Download
0
Embed Size (px)
Citation preview
Copyright © 2015 SolutionsIQ Inc. All rights reserved.
6801 185th Ave NE, Suite 200Redmond, WA 98052solutionsiq.com1.800.235.4091
When to Embrace Behavior Driven development ?How to adopt it the right way ?
PREPARED BYRanjith TharayilAgile Coach SolutionsIQ
2
What the hell is this
3
BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.
“
”
Dan North
4
Not again , Stop the crap we have seen this
5
The BDD Philosophy : how can we collaborate better ?
Product Owner
Developers Quality Assurance
Production Support
Business
6
The BDD school of thought ,Outside in
Spec
Test
Code
Outside in
7
The flow
N-1 N N+1
» Sprints
spec
» Sprint planning
» Pull only those with spec ready » Three Amigo Meetings
» BA ,PO» Developers » QA» Production Support » Any one who could
contribute in scenario identification
• Disciplined delivery• Working agreements • DOR• DOD• Less risk of failure
8
No Comments :S
9
Doing BDD vs Adopting BDD
Do BDD for
1567
10
BDD Myths
• Myth 1: BDD requires a framework or tool
• Myth 2 : BDD is about testing
• Myth 3: BDD has to be done top-down
<Footer Content: Presentation Title, Partner Name, Other>
11
• “Step Away from the Tools”• “BDD isn’t about the tools.”
Liz Keogh
Myth 1: BDD requires a framework or tool
<Footer Content: Presentation Title, Partner Name, Other>
12
• #BDD supports collaboration. If u can’t collaborate please don’t try using Cucumber as test automation
Myth 2 : BDD is about testing
Seb Rose
13
In fact, BDD isn’t even really about testing. It’s just a way of capturing those conversations which happens to provide some tests, and lifts some of the burden on the testers. If you want to run additional performance tests, exploratory tests, or even record some tests, it doesn’t have to come under the BDD banner. It’s perfectly OK to do BDD and test things as well.
Liz Keogh
Myth 2 : BDD is about testing
14
+Scenario 1: Account is in credit+Given the account is in creditAnd the card is validAnd the dispenser contains cashWhen the customer requests cashThen ensure the account is debitedAnd ensure cash is dispensedAnd ensure the card is returned
+Scenario 1: Account is in credit+Given the account is in creditAnd the card is validAnd the dispenser contains cashWhen the customer requests cashThen check that the account is debitedAnd check that cash is dispensedAnd check that the card is returnedAnd check that nothing happens that shouldn’t happen and everything else happens that should happen for all variations of this scenario and all possible states of the ATM and all possible states of the customer’s account and all possible states of the rest of the database and all possible states of the system as a whole, and anything happening in the cloud that should not matter but might matter.
James Bach
Myth 2 : BDD is about testing
15
Test iceberg
Myth 3: BDD has to be done top-down
16
Problem Space , Solution Space& the Gap
17
Each spaces has its own Complexity
• Context specific
• Varies wrt team maturity
<Footer Content: Presentation Title, Partner Name, Other>
18
Lets play a game
19
10 level tower of cards
20
BDD Workshop, Society General 21
BDD Workshop, Society General 22
Complexity
23
24
Time and effort spent ∝ problem space complexity
• More the problem space complexity , more time has to be spent debating discussing and detailing scenarios
• When problem space is simple , spending lot of time on scenario identification might not make sense
• Different features have different types of complexity
25
How to measure complexity
Points Complexity Description
1 Just about everyone in the world has done this
2 Lots of people have done this, including someone on our team.
3 Someone in our company has done this, or we have access to expertise
4 Someone in the world did this, but not in our organization (and probably
at a competitor)
5 Nobody in the world has ever done this before
Second Order ignorance We say second order of ignorance exist if “when I don't know that I don't know something”.
Liz Keogh
26
Scenario Identification, 3 key pillars
Functional:-Happy path-Sad path-Exceptional path
Constraints
<Footer Content: Presentation Title, Partner Name, Other>
27
Thank you!solutionsiq.com