when to embrace behavior driven development?
TRANSCRIPT
![Page 1: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/1.jpg)
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
![Page 2: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/2.jpg)
2
What the hell is this?
![Page 3: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/3.jpg)
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
![Page 4: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/4.jpg)
4
Not again , Stop the crap we have seen this
![Page 5: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/5.jpg)
5
The BDD Philosophy : how can we collaborate better ?
Product Owner
Developers Quality Assurance
Production Support
Business
![Page 6: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/6.jpg)
6
The BDD school of thought ,Outside in
Spec
Test
Code
Outside in
![Page 7: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/7.jpg)
7
The flow
N-1 N N+1
» Sprints
SpecBy
example
» 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
![Page 8: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/8.jpg)
8
No Comments :S
![Page 9: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/9.jpg)
9
Doing BDD vs Adopting BDD
Do BDD for
1567
![Page 10: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/10.jpg)
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
![Page 11: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/11.jpg)
<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
![Page 12: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/12.jpg)
<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
![Page 13: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/13.jpg)
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
![Page 14: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/14.jpg)
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
![Page 15: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/15.jpg)
15
Test iceberg
![Page 16: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/16.jpg)
16
“BDD doesn't come with BRAINS kindly use yours”
![Page 17: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/17.jpg)
17
The Gap
![Page 18: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/18.jpg)
18
Complexity
![Page 19: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/19.jpg)
<Footer Content: Presentation Title, Partner Name, Other>
19
Lets play a game
![Page 20: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/20.jpg)
20
10 level tower of cards
![Page 21: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/21.jpg)
21
![Page 22: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/22.jpg)
BDD Workshop, Society General 22
![Page 23: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/23.jpg)
BDD Workshop, Society General 23
![Page 24: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/24.jpg)
24
Complexity
![Page 25: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/25.jpg)
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
![Page 26: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/26.jpg)
26
Scenario Identification, 3 key pillars
Functional:-Happy path-Sad path-Exceptional
Constraints
![Page 27: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/27.jpg)
Join Coffee TalkIn your town!
In Chennai on May 28th
Coming Up Webinar – DevOps
Testing Strategy
www.agilecoffeetalk.comwww.meetup.com/Agile-Technical-Group/
Agile Technical Group
Bangalore19th and 20th August 2016
www.xpconference.com
XP Conference 2016
Bangalore19th May 2016
www.solutionsiq.in/leadership-meet-2016/
Agile Leadership Meet
Questions?You may be interested
in these events
![Page 28: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/28.jpg)
28
“BDD doesn't come with BRAINS kindly use yours”
![Page 29: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/29.jpg)
29
Extras
![Page 30: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/30.jpg)
30
BDD for maintenance projects ?
• Lots of legacy code • Enhancements
• Defect fix
• Production issues
![Page 31: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/31.jpg)
Adapting BDD for software maintenance projects using the “dEep” model.
we can categories the type of work into 4 different types .
31
d , defects
E ,Complex Enhancements
e ,Simple Enhancements
p , urgent production issues
![Page 32: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/32.jpg)
32
E , Complex Enhancements
• follow classical BDD style:
• 3 Amigo meetings , trigger conversations
• Capture Scenarios , specification by example
• pull based
• TDD strategy : inner cycle
• Check if E2E test is required
• working agreements ,DOR ,DOD
• highly disciplined
• Full team participation
![Page 33: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/33.jpg)
33
e ,Smaller Enhancements
• Skip 3 Amigo meetings
• cover the module with scenarios based test
• Express new requirements in the form of a scenario
• get the spec reviewed by BA/PO , dev ,QA .
• Highly pragmatic approach ,
• (need basis ) UT or E2E test
• test first approach or TDD
![Page 34: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/34.jpg)
34
d, Defects
• d came to existence because there was a hole in your test pyramid
• fix the hole that caused the issue ,may be a test or two , be pragmatic
• fix the code , again test first strategy
![Page 35: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/35.jpg)
35
p, urgent production issues
• fix the code first & deploy
• put a card in your back log to fix the hole in the test pyramid which caused the issues
• Test last strategy
![Page 36: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/36.jpg)
36
BDD in a nut shell
I have shamelessly copied this pic from Rachel's
blog
![Page 37: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/37.jpg)
37
Key Question
I have shamelessly copied this pic from Naresh Jain PPT
![Page 38: When to embrace Behavior Driven Development?](https://reader031.vdocuments.net/reader031/viewer/2022030204/58a9e7a41a28ab36018b4c05/html5/thumbnails/38.jpg)
38
The old school of thought , Inside Out
Test
Code
Spec
Inside Out