SlideShare a Scribd company logo
1 of 38
Copyright © 2015 SolutionsIQ Inc. All rights reserved.
6801 185th Ave NE, Suite 200
Redmond, WA 98052
solutionsiq.com
1.800.235.4091
When to Embrace Behavior Driven
development ?
How to adopt it the right way?
PREPARED BY
Ranjith Tharayil
Agile Coach
SolutionsIQ
What the hell is this?
2
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.
“
”
3
Dan North
Not again , Stop the crap we have seen this
4
The BDD Philosophy : how can we collaborate better ?
5
Product Owner
Developers Quality Assurance
Production Support
Business
The BDD school of thought ,Outside in
6
Spec
Test
Code
Outside in
The flow
7
N-1 N N+1
» Sprints
Spec
By
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
No Comments :S
8
Doing BDD vs Adopting BDD
9
Do BDD
for
1567
BDD Myths
10
• Myth 1: BDD requires a framework or tool
• Myth 2 : BDD is about testing
• Myth 3: BDD has to be done top-down
• “Step Away from the Tools”
• “BDD isn’t about the tools.”
<Footer Content: Presentation Title, Partner Name, Other> 11
Liz Keogh
Myth 1: BDD requires a framework or tool
• #BDD supports collaboration. If u can’t
collaborate please don’t try using Cucumber as
test automation
<Footer Content: Presentation Title, Partner Name, Other> 12
Myth 2 : BDD is about testing
Seb Rose
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.
13
Liz Keogh
Myth 2 : BDD is about testing
+Scenario 1: Account is in credit+
Given the account is in credit
And the card is valid
And the dispenser contains cash
When the customer requests cash
Then ensure the account is debited
And ensure cash is dispensed
And ensure the card is returned
14
+Scenario 1: Account is in credit+
Given the account is in credit
And the card is valid
And the dispenser contains cash
When the customer requests cash
Then check that the account is debited
And check that cash is dispensed
And check that the card is returned
And 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
Test iceberg
15
16
“BDD doesn't come with BRAINS kindly use
yours”
The Gap
17
Complexity
18
<Footer Content: Presentation Title, Partner Name, Other> 19
Lets play a game
10 level tower of cards
20
21
BDD Workshop, Society General 22
BDD Workshop, Society General 23
Complexity
24
How to measure complexity
25
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
Scenario Identification, 3 key pillars
Functional:
-Happy path
-Sad path
-Exceptional
Constraints
Quality
attributes
26
Join Coffee Talk
In your town!
In Chennai
on May 28th
Coming Up
Webinar – DevOps
Testing Strategy
www.agilecoffeetalk.com
www.meetup.com/
Agile-Technical-Group/
Agile Technical Group
Bangalore
19th and 20th
August 2016
www.xpconference.com
XP Conference 2016
Bangalore
19th May 2016
www.solutionsiq.in/
leadership-meet-2016/
Agile Leadership
Meet
Questions?
You may be interested
in these events
28
“BDD doesn't come with BRAINS kindly use
yours”
29
Extras
BDD for maintenance projects ?
• Lots of legacy code 
• Enhancements
• Defect fix
• Production issues
30
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
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
32
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
33
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
34
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 
35
36
BDD in a nut shell
I have shamelessly copied this pic from Rachel's blog
Key Question
37
I have shamelessly copied this pic from Naresh Jain PPT
The old school of thought , Inside Out
Test
Code
38
Spec
Inside Out

More Related Content

Viewers also liked

Constitutional Development from 1947 to 1958
Constitutional Development from 1947 to 1958Constitutional Development from 1947 to 1958
Constitutional Development from 1947 to 1958S.Saeed H
 
Objective resolution of pakistan
Objective resolution of pakistanObjective resolution of pakistan
Objective resolution of pakistanTr Ue Journlism
 
5 constitutional development in pakistan 1947 58
5 constitutional development in pakistan 1947 585 constitutional development in pakistan 1947 58
5 constitutional development in pakistan 1947 5813023901-016
 
Constitutional devolopment in pakistan 1947 to 18th Amenment.
Constitutional devolopment in pakistan 1947 to 18th Amenment.Constitutional devolopment in pakistan 1947 to 18th Amenment.
Constitutional devolopment in pakistan 1947 to 18th Amenment.Dr Tahir Jamil
 
1947-58, Political Developments!
1947-58, Political Developments!1947-58, Political Developments!
1947-58, Political Developments!Mehroze Azeem
 
Constitutional development of pakistan since 1947 to the (1)
Constitutional development of pakistan since 1947 to the (1)Constitutional development of pakistan since 1947 to the (1)
Constitutional development of pakistan since 1947 to the (1)Muhammad Attique Shah
 

Viewers also liked (8)

Industrial development bank of pakistan
Industrial development bank of pakistanIndustrial development bank of pakistan
Industrial development bank of pakistan
 
Constitutional Development from 1947 to 1958
Constitutional Development from 1947 to 1958Constitutional Development from 1947 to 1958
Constitutional Development from 1947 to 1958
 
Objective of resolution
Objective of resolutionObjective of resolution
Objective of resolution
 
Objective resolution of pakistan
Objective resolution of pakistanObjective resolution of pakistan
Objective resolution of pakistan
 
5 constitutional development in pakistan 1947 58
5 constitutional development in pakistan 1947 585 constitutional development in pakistan 1947 58
5 constitutional development in pakistan 1947 58
 
Constitutional devolopment in pakistan 1947 to 18th Amenment.
Constitutional devolopment in pakistan 1947 to 18th Amenment.Constitutional devolopment in pakistan 1947 to 18th Amenment.
Constitutional devolopment in pakistan 1947 to 18th Amenment.
 
1947-58, Political Developments!
1947-58, Political Developments!1947-58, Political Developments!
1947-58, Political Developments!
 
Constitutional development of pakistan since 1947 to the (1)
Constitutional development of pakistan since 1947 to the (1)Constitutional development of pakistan since 1947 to the (1)
Constitutional development of pakistan since 1947 to the (1)
 

Similar to When to embrace Behavior Driven Development?

When to embrace behavior driven development
When to embrace behavior driven developmentWhen to embrace behavior driven development
When to embrace behavior driven developmentRanjith Tharayil
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Synerzip
 
Java Zone Academy 2018 - Build the right system
Java Zone Academy 2018   -  Build the right systemJava Zone Academy 2018   -  Build the right system
Java Zone Academy 2018 - Build the right systemCecilie Haugstvedt
 
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013TEST Huddle
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSmartBear
 
Test driven development
Test driven developmentTest driven development
Test driven developmentSunil Prasad
 
Learning Fast With A/B Testing and Continuous Deployment
Learning Fast With A/B Testing and Continuous DeploymentLearning Fast With A/B Testing and Continuous Deployment
Learning Fast With A/B Testing and Continuous DeploymentBrett Durrett
 
Lagging, Leading, and Predictive Indicators
Lagging, Leading, and Predictive IndicatorsLagging, Leading, and Predictive Indicators
Lagging, Leading, and Predictive IndicatorsDave Kellogg
 
Lagging, leading, and predictive indicators
Lagging, leading, and predictive indicatorsLagging, leading, and predictive indicators
Lagging, leading, and predictive indicatorsDave Kellogg
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDDdevObjective
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationOrtus Solutions, Corp
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentAmir Barylko
 
TDD: seriously, try it! 
TDD: seriously, try it! TDD: seriously, try it! 
TDD: seriously, try it! Nacho Cougil
 
Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)Keith Casey
 

Similar to When to embrace Behavior Driven Development? (20)

When to embrace behavior driven development
When to embrace behavior driven developmentWhen to embrace behavior driven development
When to embrace behavior driven development
 
Introduction to BDD
Introduction to BDD Introduction to BDD
Introduction to BDD
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
Java Zone Academy 2018 - Build the right system
Java Zone Academy 2018   -  Build the right systemJava Zone Academy 2018   -  Build the right system
Java Zone Academy 2018 - Build the right system
 
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile World
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Learning Fast With A/B Testing and Continuous Deployment
Learning Fast With A/B Testing and Continuous DeploymentLearning Fast With A/B Testing and Continuous Deployment
Learning Fast With A/B Testing and Continuous Deployment
 
BDD agile china2012_share
BDD agile china2012_shareBDD agile china2012_share
BDD agile china2012_share
 
Lagging, Leading, and Predictive Indicators
Lagging, Leading, and Predictive IndicatorsLagging, Leading, and Predictive Indicators
Lagging, Leading, and Predictive Indicators
 
Lagging, leading, and predictive indicators
Lagging, leading, and predictive indicatorsLagging, leading, and predictive indicators
Lagging, leading, and predictive indicators
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
 
2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
TDD: seriously, try it! 
TDD: seriously, try it! TDD: seriously, try it! 
TDD: seriously, try it! 
 
Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)Is Your API Misbehaving (workshop)
Is Your API Misbehaving (workshop)
 
Introduction to TDD and BDD
Introduction to TDD and BDDIntroduction to TDD and BDD
Introduction to TDD and BDD
 
Real developers-dont-need-unit-tests
Real developers-dont-need-unit-testsReal developers-dont-need-unit-tests
Real developers-dont-need-unit-tests
 

More from Ranjith Tharayil

SHE QC ideation, a story grooming technique
SHE QC ideation, a story grooming techniqueSHE QC ideation, a story grooming technique
SHE QC ideation, a story grooming techniqueRanjith Tharayil
 
Dojo delivery agility ranjith tharayil
Dojo delivery agility  ranjith tharayilDojo delivery agility  ranjith tharayil
Dojo delivery agility ranjith tharayilRanjith Tharayil
 
Change Vector Tracking in emergent design
Change Vector Tracking in emergent designChange Vector Tracking in emergent design
Change Vector Tracking in emergent designRanjith Tharayil
 
Case study of Knights capital and Toyota , a retrospect
Case study of Knights capital and Toyota , a retrospect  Case study of Knights capital and Toyota , a retrospect
Case study of Knights capital and Toyota , a retrospect Ranjith Tharayil
 
Change vector tracking in emergent design
Change vector tracking in emergent designChange vector tracking in emergent design
Change vector tracking in emergent designRanjith Tharayil
 

More from Ranjith Tharayil (6)

SHE QC ideation, a story grooming technique
SHE QC ideation, a story grooming techniqueSHE QC ideation, a story grooming technique
SHE QC ideation, a story grooming technique
 
Dojo delivery agility ranjith tharayil
Dojo delivery agility  ranjith tharayilDojo delivery agility  ranjith tharayil
Dojo delivery agility ranjith tharayil
 
Change Vector Tracking in emergent design
Change Vector Tracking in emergent designChange Vector Tracking in emergent design
Change Vector Tracking in emergent design
 
DDD_upload
DDD_uploadDDD_upload
DDD_upload
 
Case study of Knights capital and Toyota , a retrospect
Case study of Knights capital and Toyota , a retrospect  Case study of Knights capital and Toyota , a retrospect
Case study of Knights capital and Toyota , a retrospect
 
Change vector tracking in emergent design
Change vector tracking in emergent designChange vector tracking in emergent design
Change vector tracking in emergent design
 

Recently uploaded

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 

Recently uploaded (20)

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 

When to embrace Behavior Driven Development?

  • 1. Copyright © 2015 SolutionsIQ Inc. All rights reserved. 6801 185th Ave NE, Suite 200 Redmond, WA 98052 solutionsiq.com 1.800.235.4091 When to Embrace Behavior Driven development ? How to adopt it the right way? PREPARED BY Ranjith Tharayil Agile Coach SolutionsIQ
  • 2. What the hell is this? 2
  • 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. “ ” 3 Dan North
  • 4. Not again , Stop the crap we have seen this 4
  • 5. The BDD Philosophy : how can we collaborate better ? 5 Product Owner Developers Quality Assurance Production Support Business
  • 6. The BDD school of thought ,Outside in 6 Spec Test Code Outside in
  • 7. The flow 7 N-1 N N+1 » Sprints Spec By 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
  • 9. Doing BDD vs Adopting BDD 9 Do BDD for 1567
  • 10. BDD Myths 10 • Myth 1: BDD requires a framework or tool • Myth 2 : BDD is about testing • Myth 3: BDD has to be done top-down
  • 11. • “Step Away from the Tools” • “BDD isn’t about the tools.” <Footer Content: Presentation Title, Partner Name, Other> 11 Liz Keogh Myth 1: BDD requires a framework or tool
  • 12. • #BDD supports collaboration. If u can’t collaborate please don’t try using Cucumber as test automation <Footer Content: Presentation Title, Partner Name, Other> 12 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. 13 Liz Keogh Myth 2 : BDD is about testing
  • 14. +Scenario 1: Account is in credit+ Given the account is in credit And the card is valid And the dispenser contains cash When the customer requests cash Then ensure the account is debited And ensure cash is dispensed And ensure the card is returned 14 +Scenario 1: Account is in credit+ Given the account is in credit And the card is valid And the dispenser contains cash When the customer requests cash Then check that the account is debited And check that cash is dispensed And check that the card is returned And 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
  • 16. 16 “BDD doesn't come with BRAINS kindly use yours”
  • 19. <Footer Content: Presentation Title, Partner Name, Other> 19 Lets play a game
  • 20. 10 level tower of cards 20
  • 21. 21
  • 22. BDD Workshop, Society General 22
  • 23. BDD Workshop, Society General 23
  • 25. How to measure complexity 25 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 Constraints Quality attributes 26
  • 27. Join Coffee Talk In your town! In Chennai on May 28th Coming Up Webinar – DevOps Testing Strategy www.agilecoffeetalk.com www.meetup.com/ Agile-Technical-Group/ Agile Technical Group Bangalore 19th and 20th August 2016 www.xpconference.com XP Conference 2016 Bangalore 19th May 2016 www.solutionsiq.in/ leadership-meet-2016/ Agile Leadership Meet Questions? You may be interested in these events
  • 28. 28 “BDD doesn't come with BRAINS kindly use yours”
  • 30. BDD for maintenance projects ? • Lots of legacy code  • Enhancements • Defect fix • Production issues 30
  • 31. 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
  • 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 32
  • 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 33
  • 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 34
  • 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  35
  • 36. 36 BDD in a nut shell I have shamelessly copied this pic from Rachel's blog
  • 37. Key Question 37 I have shamelessly copied this pic from Naresh Jain PPT
  • 38. The old school of thought , Inside Out Test Code 38 Spec Inside Out