SlideShare a Scribd company logo
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 1958
S.Saeed H
 
Objective of resolution
Objective of resolutionObjective of resolution
Objective of resolution
Qudrat Ullah Yaqubi
 
Objective resolution of pakistan
Objective resolution of pakistanObjective resolution of pakistan
Objective resolution of pakistan
Tr 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 58
13023901-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 development
Ranjith Tharayil
 
Introduction to BDD
Introduction to BDD Introduction to BDD
Introduction to BDD
Ranjith 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
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
Gervais Johnson, Advisor
 
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
Cecilie 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 2013
TEST 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 World
SmartBear
 
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 Deployment
Brett Durrett
 
BDD agile china2012_share
BDD agile china2012_shareBDD agile china2012_share
BDD agile china2012_share
Giuseppe De Simone
 
Lagging, Leading, and Predictive Indicators
Lagging, Leading, and Predictive IndicatorsLagging, Leading, and Predictive Indicators
Lagging, Leading, and Predictive Indicators
Dave Kellogg
 
Lagging, leading, and predictive indicators
Lagging, leading, and predictive indicatorsLagging, leading, and predictive indicators
Lagging, leading, and predictive indicators
Dave Kellogg
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
devObjective
 
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
Ortus Solutions, Corp
 
2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd
ColdFusionConference
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
Amir 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
 
Introduction to TDD and BDD
Introduction to TDD and BDDIntroduction to TDD and BDD
Introduction to TDD and BDD
Luis García Castro
 
Real developers-dont-need-unit-tests
Real developers-dont-need-unit-testsReal developers-dont-need-unit-tests
Real developers-dont-need-unit-tests
Skills Matter
 

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 technique
Ranjith Tharayil
 
Dojo delivery agility ranjith tharayil
Dojo delivery agility  ranjith tharayilDojo delivery agility  ranjith tharayil
Dojo delivery agility ranjith tharayil
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
Ranjith 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 design
Ranjith 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

Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 

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