SlideShare ist ein Scribd-Unternehmen logo
1 von 22
BDD Behaviour Driven Development (BDD) The 10 minutes Introduction Christophe Achouiantz – June 2011
The need for BDD Most common impediment for an agile team: Unclear Specifications! Christophe Achouiantz – June 2011 2011-06-22 Sida 2
BDD 2006 – Dan North ”TDD/ATDD done well” “TDD will cause me to have lots of tests, but it won’t necessarily get me nearer the goal of delivering business value through software.” Test Driven Development – TDD Acceptance Test Driven Developement -ATDD 2011-06-22 Sida 3 Christophe Achouiantz – June 2011
BDD is about Business Value Behaviour Driven Development 2011-06-22 Sida 4 Christophe Achouiantz – June 2011
An ”Outside-in” methodology BDD is an “outside-in” methodology.  Starts at the outside by identifying business outcomes,  and then drills down into the feature set that will achieve those outcomes. 2011-06-22 Sida 5 Christophe Achouiantz – June 2011
The Core of BDD: the ”Story” Each feature is captured as a “story”, which defines the scope of the feature along with its acceptance criteria. BDD ”Story” =  Narative (User Story) +  Acceptance Criteria (Scenarios) 2011-06-22 Sida 6 Christophe Achouiantz – June 2011
The Narative: User Stories User Story as narative (context) User centric Focus on What not so much How Contains sufficient information so that all stakeholders understand the context (who, when, what, why) 2011-06-22 Sida 7 Christophe Achouiantz – June 2011
The Narative: User Stories + Title of the Story + As a <role>, I want <feature>, So that <benefit> 2011-06-22 Sida 8 Christophe Achouiantz – June 2011
The Narative: User Stories + Customer withdraws cash + As a customer, I want to withdraw cash from an ATM, so that I don’t have to wait in line at the bank. 2011-06-22 Sida 9 Christophe Achouiantz – June 2011
The Acceptance Criteria: Scenarios A UserStory’sbehaviour is itsacceptancecriteria Acceptancecriteriadefine the scope of the narative/behaviour Acceptance criteria gives us a shared definition of “done” 2011-06-22 Sida 10 Christophe Achouiantz – June 2011
The Acceptance Criteria: Scenarios + Scenario Title + Given <context>, When <event>, Then <outcome> 2011-06-22 Sida 11 Christophe Achouiantz – June 2011
The Acceptance Criteria: Scenarios +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. 2011-06-22 Sida 12 Christophe Achouiantz – June 2011
The Acceptance Criteria: Scenarios +Scenario 2: Account is overdrawn past the overdraft limit+ Given the account is overdrawn And the card is valid, When the customer requests cash, Then ensure a rejection message is displayed And ensure cash is not dispensed And ensure the card is returned. 2011-06-22 Sida 13 Christophe Achouiantz – June 2011
The Power of Scenarios Scenarios = Test Cases = Acceptance Criteria 2011-06-22 Sida 14 Christophe Achouiantz – June 2011
A Good Story The title should describe an activity The narrative should include a role, a feature and a benefit The scenario title should say what’s different The scenario should be described in terms of Givens, Events and Outcomes The givens should define all of, and no more than, the required contextThe event should describe the feature The story should be small enough to fit in an iteration 2011-06-22 Sida 15 Christophe Achouiantz – June 2011
Effect of BDD: A Specification and Ubiquitous Language BDD Story Great for discussing with customer, end-users, other stakeholders Great for coding, testing, validation = Specification (by example) + Promotes an Ubiquitous Language (everyone speaks the same language!) 2011-06-22 Sida 16 Christophe Achouiantz – June 2011
BDD is relying on Examples ”Specification by Example” Examples tell a story about what the system does Gojko Adzic By the way: TDD is then more ”Coding by Example” Examples tell a story about what the code does 2011-06-22 Sida 17 Christophe Achouiantz – June 2011
BDD in Practice Better requirements workshops / User Stories writing workshops Iterative work – clarify requirements: Write user story + scenarios Re-write user story (break down?)+ scenarios Helps to understand ”What do we want?” ”Aha!” reaction from participants  Helps to write clear, concrete requirements 2011-06-22 Sida 18 Christophe Achouiantz – June 2011
BDD Tools Automate your Scenarios! Frameworks for: Java - JBehave .Net - SpecFlow Ruby – Cucumber Others… 2011-06-22 Sida 19 Christophe Achouiantz – June 2011
BDD Tools: Cucumber (Ruby) 2011-06-22 Sida 20 Christophe Achouiantz – June 2011
Starting with BDD Use Scenarios during your next requirement writing workshop! 2011-06-22 Sida 21 Christophe Achouiantz – June 2011
Happy BDD! 2011-06-22 Sida 22 Christophe Achouiantz – June 2011

Weitere ähnliche Inhalte

Was ist angesagt?

Business Requirements development
Business Requirements development Business Requirements development
Business Requirements development Mark Opanasiuk
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business AnalysisShwetha-BA
 
Myths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentMyths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentPankaj Nakhat
 
Requirement Elicitation
Requirement ElicitationRequirement Elicitation
Requirement ElicitationRavikanth-BA
 
Acercándonos a la Programación Funcional a través de la Arquitectura Hexag...
Acercándonos a la Programación Funcional a través de la Arquitectura Hexag...Acercándonos a la Programación Funcional a través de la Arquitectura Hexag...
Acercándonos a la Programación Funcional a través de la Arquitectura Hexag...CodelyTV
 
BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareJohn Ferguson Smart Limited
 
SDLC Training for Business Analysts
SDLC Training for Business AnalystsSDLC Training for Business Analysts
SDLC Training for Business AnalystsSwatiS-BA
 
The Evolving Role of the Business Analyst
The Evolving Role of the Business AnalystThe Evolving Role of the Business Analyst
The Evolving Role of the Business AnalystTracy Cook
 
Business Analyst vs. Project Manager - Eliminating the Confusion!
Business Analyst vs. Project Manager - Eliminating the Confusion!Business Analyst vs. Project Manager - Eliminating the Confusion!
Business Analyst vs. Project Manager - Eliminating the Confusion!Corporate Education Group (CEG)
 
From Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre Burgy
From Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre BurgyFrom Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre Burgy
From Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre BurgyJim Laurie
 
Business Analysis - Essentials
Business Analysis - EssentialsBusiness Analysis - Essentials
Business Analysis - EssentialsBarbara Bermes
 
ReqView / Volere Requirements Specification Template
ReqView / Volere Requirements Specification TemplateReqView / Volere Requirements Specification Template
ReqView / Volere Requirements Specification TemplateEccam
 
Agile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDDAgile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDDFred Heath
 
Business Analysis Fundamentals
Business Analysis FundamentalsBusiness Analysis Fundamentals
Business Analysis Fundamentalswaelsaid75
 
Business Analyst Training
Business  Analyst  TrainingBusiness  Analyst  Training
Business Analyst TrainingCraig Brown
 
The Agile BA (Business Analyst)
The Agile BA (Business Analyst)The Agile BA (Business Analyst)
The Agile BA (Business Analyst)Bill Gaiennie
 

Was ist angesagt? (20)

Business Requirements development
Business Requirements development Business Requirements development
Business Requirements development
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business Analysis
 
Myths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentMyths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven Development
 
Requirement Elicitation
Requirement ElicitationRequirement Elicitation
Requirement Elicitation
 
Acercándonos a la Programación Funcional a través de la Arquitectura Hexag...
Acercándonos a la Programación Funcional a través de la Arquitectura Hexag...Acercándonos a la Programación Funcional a través de la Arquitectura Hexag...
Acercándonos a la Programación Funcional a través de la Arquitectura Hexag...
 
BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right Software
 
SDLC Training for Business Analysts
SDLC Training for Business AnalystsSDLC Training for Business Analysts
SDLC Training for Business Analysts
 
Android Training
Android TrainingAndroid Training
Android Training
 
The Evolving Role of the Business Analyst
The Evolving Role of the Business AnalystThe Evolving Role of the Business Analyst
The Evolving Role of the Business Analyst
 
Business Analyst vs. Project Manager - Eliminating the Confusion!
Business Analyst vs. Project Manager - Eliminating the Confusion!Business Analyst vs. Project Manager - Eliminating the Confusion!
Business Analyst vs. Project Manager - Eliminating the Confusion!
 
From Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre Burgy
From Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre BurgyFrom Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre Burgy
From Open-Source, to Open-Core, to Cloud - Open Core Summit 2023 - Pierre Burgy
 
Acp policies
Acp policiesAcp policies
Acp policies
 
Business Analysis - Essentials
Business Analysis - EssentialsBusiness Analysis - Essentials
Business Analysis - Essentials
 
ReqView / Volere Requirements Specification Template
ReqView / Volere Requirements Specification TemplateReqView / Volere Requirements Specification Template
ReqView / Volere Requirements Specification Template
 
Agile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDDAgile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDD
 
Business Analysis Fundamentals
Business Analysis FundamentalsBusiness Analysis Fundamentals
Business Analysis Fundamentals
 
Business Analyst Training
Business  Analyst  TrainingBusiness  Analyst  Training
Business Analyst Training
 
Git presentation
Git presentationGit presentation
Git presentation
 
The Agile BA (Business Analyst)
The Agile BA (Business Analyst)The Agile BA (Business Analyst)
The Agile BA (Business Analyst)
 
Brd template
Brd template Brd template
Brd template
 

Ähnlich wie Introduction to Behaviour Driven Development

BV Engineering Agile Tour RTP, Oct 2010
BV Engineering Agile Tour RTP, Oct 2010BV Engineering Agile Tour RTP, Oct 2010
BV Engineering Agile Tour RTP, Oct 2010LeanAgileTraining
 
BDD Short Introduction
BDD Short IntroductionBDD Short Introduction
BDD Short IntroductionAndreas Enbohm
 
Enterprise Blockchain PowerPoint Presentation Slides
Enterprise Blockchain PowerPoint Presentation SlidesEnterprise Blockchain PowerPoint Presentation Slides
Enterprise Blockchain PowerPoint Presentation SlidesSlideTeam
 
Scrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdfScrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdfNarasimhaL2
 
Lessons in Project Management - 3 - Project Scoping and Contracting
Lessons in Project Management - 3 - Project Scoping and ContractingLessons in Project Management - 3 - Project Scoping and Contracting
Lessons in Project Management - 3 - Project Scoping and ContractingHabermann Frank
 
How to live up to what your products claim to deliver.

How to live up to what your products claim to deliver.
 How to live up to what your products claim to deliver.

How to live up to what your products claim to deliver.
 FrancescaTerzi
 
Lean UX presentation (UXSG meetup #9)
Lean UX presentation (UXSG meetup #9)Lean UX presentation (UXSG meetup #9)
Lean UX presentation (UXSG meetup #9)UX Consulting Pte Ltd
 
It's Not About Working Software After All!
It's Not About Working Software After All!It's Not About Working Software After All!
It's Not About Working Software After All!Ignite
 
Resume - Pinku Das
Resume - Pinku DasResume - Pinku Das
Resume - Pinku Daspinku Das
 
Agile metteg 9(agile tooling)-draft-v1.0
Agile metteg 9(agile tooling)-draft-v1.0Agile metteg 9(agile tooling)-draft-v1.0
Agile metteg 9(agile tooling)-draft-v1.0APjrousset
 
If you fail to plan, will your plan fail? Developing a financial plan for you...
If you fail to plan, will your plan fail? Developing a financial plan for you...If you fail to plan, will your plan fail? Developing a financial plan for you...
If you fail to plan, will your plan fail? Developing a financial plan for you...MaRS Discovery District
 
Predicitve analytics for marketing 05 21-2014 Shree Dandekar
Predicitve analytics for marketing 05 21-2014 Shree DandekarPredicitve analytics for marketing 05 21-2014 Shree Dandekar
Predicitve analytics for marketing 05 21-2014 Shree DandekarShree Dandekar
 
DataSift meetup shree 3-24-2014 (2)
DataSift meetup   shree 3-24-2014 (2)DataSift meetup   shree 3-24-2014 (2)
DataSift meetup shree 3-24-2014 (2)Shree Dandekar
 
Optimizing the Value of Your Company
Optimizing the Value of Your CompanyOptimizing the Value of Your Company
Optimizing the Value of Your Companybitnetonline
 
Disciplined Entrepreneurship: What can you do for your customer?
Disciplined Entrepreneurship: What can you do for your customer?Disciplined Entrepreneurship: What can you do for your customer?
Disciplined Entrepreneurship: What can you do for your customer?Elaine Chen
 
XBRL Conference Brussels - Bas Groenveld And Paul Hulst - Xbrl Detail Tagging...
XBRL Conference Brussels - Bas Groenveld And Paul Hulst - Xbrl Detail Tagging...XBRL Conference Brussels - Bas Groenveld And Paul Hulst - Xbrl Detail Tagging...
XBRL Conference Brussels - Bas Groenveld And Paul Hulst - Xbrl Detail Tagging...Paul Hulst
 

Ähnlich wie Introduction to Behaviour Driven Development (20)

BV Engineering Agile Tour RTP, Oct 2010
BV Engineering Agile Tour RTP, Oct 2010BV Engineering Agile Tour RTP, Oct 2010
BV Engineering Agile Tour RTP, Oct 2010
 
BDD Short Introduction
BDD Short IntroductionBDD Short Introduction
BDD Short Introduction
 
Enterprise Blockchain PowerPoint Presentation Slides
Enterprise Blockchain PowerPoint Presentation SlidesEnterprise Blockchain PowerPoint Presentation Slides
Enterprise Blockchain PowerPoint Presentation Slides
 
Scrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdfScrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdf
 
Lessons in Project Management - 3 - Project Scoping and Contracting
Lessons in Project Management - 3 - Project Scoping and ContractingLessons in Project Management - 3 - Project Scoping and Contracting
Lessons in Project Management - 3 - Project Scoping and Contracting
 
How to live up to what your products claim to deliver.

How to live up to what your products claim to deliver.
 How to live up to what your products claim to deliver.

How to live up to what your products claim to deliver.

 
Lean UX presentation (UXSG meetup #9)
Lean UX presentation (UXSG meetup #9)Lean UX presentation (UXSG meetup #9)
Lean UX presentation (UXSG meetup #9)
 
Accenture Resume
Accenture ResumeAccenture Resume
Accenture Resume
 
It's Not About Working Software After All!
It's Not About Working Software After All!It's Not About Working Software After All!
It's Not About Working Software After All!
 
AFP
AFPAFP
AFP
 
Resume-Shubhankar
Resume-ShubhankarResume-Shubhankar
Resume-Shubhankar
 
Resume - Pinku Das
Resume - Pinku DasResume - Pinku Das
Resume - Pinku Das
 
Neeraj kumar.pdf
Neeraj kumar.pdfNeeraj kumar.pdf
Neeraj kumar.pdf
 
Agile metteg 9(agile tooling)-draft-v1.0
Agile metteg 9(agile tooling)-draft-v1.0Agile metteg 9(agile tooling)-draft-v1.0
Agile metteg 9(agile tooling)-draft-v1.0
 
If you fail to plan, will your plan fail? Developing a financial plan for you...
If you fail to plan, will your plan fail? Developing a financial plan for you...If you fail to plan, will your plan fail? Developing a financial plan for you...
If you fail to plan, will your plan fail? Developing a financial plan for you...
 
Predicitve analytics for marketing 05 21-2014 Shree Dandekar
Predicitve analytics for marketing 05 21-2014 Shree DandekarPredicitve analytics for marketing 05 21-2014 Shree Dandekar
Predicitve analytics for marketing 05 21-2014 Shree Dandekar
 
DataSift meetup shree 3-24-2014 (2)
DataSift meetup   shree 3-24-2014 (2)DataSift meetup   shree 3-24-2014 (2)
DataSift meetup shree 3-24-2014 (2)
 
Optimizing the Value of Your Company
Optimizing the Value of Your CompanyOptimizing the Value of Your Company
Optimizing the Value of Your Company
 
Disciplined Entrepreneurship: What can you do for your customer?
Disciplined Entrepreneurship: What can you do for your customer?Disciplined Entrepreneurship: What can you do for your customer?
Disciplined Entrepreneurship: What can you do for your customer?
 
XBRL Conference Brussels - Bas Groenveld And Paul Hulst - Xbrl Detail Tagging...
XBRL Conference Brussels - Bas Groenveld And Paul Hulst - Xbrl Detail Tagging...XBRL Conference Brussels - Bas Groenveld And Paul Hulst - Xbrl Detail Tagging...
XBRL Conference Brussels - Bas Groenveld And Paul Hulst - Xbrl Detail Tagging...
 

Mehr von Christophe Achouiantz

Implementing kanban at scale at sandvik IT
Implementing kanban at scale at sandvik ITImplementing kanban at scale at sandvik IT
Implementing kanban at scale at sandvik ITChristophe Achouiantz
 
Lessons Learned from Coaching 50+ Teams
Lessons Learned from Coaching 50+ TeamsLessons Learned from Coaching 50+ Teams
Lessons Learned from Coaching 50+ TeamsChristophe Achouiantz
 
See and understand how to improve your team using kanban
See and understand how to improve your team using kanbanSee and understand how to improve your team using kanban
See and understand how to improve your team using kanbanChristophe Achouiantz
 
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sättUser Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sättChristophe Achouiantz
 
Igniting change in 20 teams within 6 months
Igniting change in 20 teams within 6 monthsIgniting change in 20 teams within 6 months
Igniting change in 20 teams within 6 monthsChristophe Achouiantz
 
Scaling Scrum in the Enterprise with Kanban
Scaling Scrum in the Enterprise with KanbanScaling Scrum in the Enterprise with Kanban
Scaling Scrum in the Enterprise with KanbanChristophe Achouiantz
 

Mehr von Christophe Achouiantz (16)

How to train to Kanban.
How to train to Kanban.How to train to Kanban.
How to train to Kanban.
 
Staying on the high performing path
Staying on the high performing pathStaying on the high performing path
Staying on the high performing path
 
Insights coaching 70 kanban teams
Insights coaching 70 kanban teamsInsights coaching 70 kanban teams
Insights coaching 70 kanban teams
 
From Good-enough to Great (LKFR16)
From Good-enough to Great (LKFR16)From Good-enough to Great (LKFR16)
From Good-enough to Great (LKFR16)
 
From Good-Enough to Great
From Good-Enough to GreatFrom Good-Enough to Great
From Good-Enough to Great
 
The art of delivering value on time
The art of delivering value on timeThe art of delivering value on time
The art of delivering value on time
 
Implementing kanban at scale at sandvik IT
Implementing kanban at scale at sandvik ITImplementing kanban at scale at sandvik IT
Implementing kanban at scale at sandvik IT
 
Succeed using lean agile
Succeed using lean agileSucceed using lean agile
Succeed using lean agile
 
Lessons Learned from Coaching 50+ Teams
Lessons Learned from Coaching 50+ TeamsLessons Learned from Coaching 50+ Teams
Lessons Learned from Coaching 50+ Teams
 
See and understand how to improve your team using kanban
See and understand how to improve your team using kanbanSee and understand how to improve your team using kanban
See and understand how to improve your team using kanban
 
Depth of a Kanban Implementation
Depth of a Kanban ImplementationDepth of a Kanban Implementation
Depth of a Kanban Implementation
 
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sättUser Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
User Story Mapping: Konsten att dela upp kravbilden på "rätt" sätt
 
The value of timely feedback
The value of timely feedbackThe value of timely feedback
The value of timely feedback
 
Thinking agile
Thinking agileThinking agile
Thinking agile
 
Igniting change in 20 teams within 6 months
Igniting change in 20 teams within 6 monthsIgniting change in 20 teams within 6 months
Igniting change in 20 teams within 6 months
 
Scaling Scrum in the Enterprise with Kanban
Scaling Scrum in the Enterprise with KanbanScaling Scrum in the Enterprise with Kanban
Scaling Scrum in the Enterprise with Kanban
 

Kürzlich hochgeladen

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 

Kürzlich hochgeladen (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 

Introduction to Behaviour Driven Development

  • 1. BDD Behaviour Driven Development (BDD) The 10 minutes Introduction Christophe Achouiantz – June 2011
  • 2. The need for BDD Most common impediment for an agile team: Unclear Specifications! Christophe Achouiantz – June 2011 2011-06-22 Sida 2
  • 3. BDD 2006 – Dan North ”TDD/ATDD done well” “TDD will cause me to have lots of tests, but it won’t necessarily get me nearer the goal of delivering business value through software.” Test Driven Development – TDD Acceptance Test Driven Developement -ATDD 2011-06-22 Sida 3 Christophe Achouiantz – June 2011
  • 4. BDD is about Business Value Behaviour Driven Development 2011-06-22 Sida 4 Christophe Achouiantz – June 2011
  • 5. An ”Outside-in” methodology BDD is an “outside-in” methodology. Starts at the outside by identifying business outcomes, and then drills down into the feature set that will achieve those outcomes. 2011-06-22 Sida 5 Christophe Achouiantz – June 2011
  • 6. The Core of BDD: the ”Story” Each feature is captured as a “story”, which defines the scope of the feature along with its acceptance criteria. BDD ”Story” = Narative (User Story) + Acceptance Criteria (Scenarios) 2011-06-22 Sida 6 Christophe Achouiantz – June 2011
  • 7. The Narative: User Stories User Story as narative (context) User centric Focus on What not so much How Contains sufficient information so that all stakeholders understand the context (who, when, what, why) 2011-06-22 Sida 7 Christophe Achouiantz – June 2011
  • 8. The Narative: User Stories + Title of the Story + As a <role>, I want <feature>, So that <benefit> 2011-06-22 Sida 8 Christophe Achouiantz – June 2011
  • 9. The Narative: User Stories + Customer withdraws cash + As a customer, I want to withdraw cash from an ATM, so that I don’t have to wait in line at the bank. 2011-06-22 Sida 9 Christophe Achouiantz – June 2011
  • 10. The Acceptance Criteria: Scenarios A UserStory’sbehaviour is itsacceptancecriteria Acceptancecriteriadefine the scope of the narative/behaviour Acceptance criteria gives us a shared definition of “done” 2011-06-22 Sida 10 Christophe Achouiantz – June 2011
  • 11. The Acceptance Criteria: Scenarios + Scenario Title + Given <context>, When <event>, Then <outcome> 2011-06-22 Sida 11 Christophe Achouiantz – June 2011
  • 12. The Acceptance Criteria: Scenarios +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. 2011-06-22 Sida 12 Christophe Achouiantz – June 2011
  • 13. The Acceptance Criteria: Scenarios +Scenario 2: Account is overdrawn past the overdraft limit+ Given the account is overdrawn And the card is valid, When the customer requests cash, Then ensure a rejection message is displayed And ensure cash is not dispensed And ensure the card is returned. 2011-06-22 Sida 13 Christophe Achouiantz – June 2011
  • 14. The Power of Scenarios Scenarios = Test Cases = Acceptance Criteria 2011-06-22 Sida 14 Christophe Achouiantz – June 2011
  • 15. A Good Story The title should describe an activity The narrative should include a role, a feature and a benefit The scenario title should say what’s different The scenario should be described in terms of Givens, Events and Outcomes The givens should define all of, and no more than, the required contextThe event should describe the feature The story should be small enough to fit in an iteration 2011-06-22 Sida 15 Christophe Achouiantz – June 2011
  • 16. Effect of BDD: A Specification and Ubiquitous Language BDD Story Great for discussing with customer, end-users, other stakeholders Great for coding, testing, validation = Specification (by example) + Promotes an Ubiquitous Language (everyone speaks the same language!) 2011-06-22 Sida 16 Christophe Achouiantz – June 2011
  • 17. BDD is relying on Examples ”Specification by Example” Examples tell a story about what the system does Gojko Adzic By the way: TDD is then more ”Coding by Example” Examples tell a story about what the code does 2011-06-22 Sida 17 Christophe Achouiantz – June 2011
  • 18. BDD in Practice Better requirements workshops / User Stories writing workshops Iterative work – clarify requirements: Write user story + scenarios Re-write user story (break down?)+ scenarios Helps to understand ”What do we want?” ”Aha!” reaction from participants Helps to write clear, concrete requirements 2011-06-22 Sida 18 Christophe Achouiantz – June 2011
  • 19. BDD Tools Automate your Scenarios! Frameworks for: Java - JBehave .Net - SpecFlow Ruby – Cucumber Others… 2011-06-22 Sida 19 Christophe Achouiantz – June 2011
  • 20. BDD Tools: Cucumber (Ruby) 2011-06-22 Sida 20 Christophe Achouiantz – June 2011
  • 21. Starting with BDD Use Scenarios during your next requirement writing workshop! 2011-06-22 Sida 21 Christophe Achouiantz – June 2011
  • 22. Happy BDD! 2011-06-22 Sida 22 Christophe Achouiantz – June 2011

Hinweis der Redaktion

  1. Own experience: unclear specs!Valid also for ”traditional teams”, though made clearer for agile teamsBehaviour-driven development (BDD) takes the position that you can turn an idea for a requirement into implemented, tested, production-ready code simply and effectively, as long as the requirement is specific enough that everyone knows what’s going on
  2. This, then, is the role of a Story. It has to be a description of a requirement and its business benefit, and a set of criteria by which we all agree that it is “done”. This is a more rigorous definition than in other agile methodologies, where it is variously described as a “promise of a conversation” or a “description of a feature”. (A BDD story can just as easily describe a non-functional requirement, as long as the work can be scoped, estimated and agreed on.)