SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
BRIDGING THE COMMUNICATION
GAP BETWEEN BUSINESS AND IT
WITH BDD: A CUSTOM APPROACH
Project details - FirstTimeRight
• Funded by the Flemish government
• Co-funded by steering committee members
• Duration: 2 years (2018-2020)
Elke Steegmans
Project manager
Mieke Kemme
Quality manager
Wannes Fransen
Developer
Nicolas Lauwereys
Developer
Frederik Thielemans
Functional Analyst
David Vandenbroeck
Functional Analyst
Steering committee members
Project details - FirstTimeRight
Problem
Existence of a communication gap between the technical and the
nontechnical, due to ambiguities and misunderstandings that exist within
the team and between the customer.
Solution
Behaviour-Driven Development
Objective
Support IT-companies in the adoption of BDD:
• Cookbook
• Online platform
• Workshops
• Add BDD to the curriculum
Methods
Research methods:
• Desk research
• Literature study
• Case studies (5)
• Stakeholder interviews (20)
• Expert interviews (5)
Behaviour-Driven Development?
The core of BDD
• Communication!
• Ubiquitous language
• Closing the communication gap
▪ So that technical experts can communicate with domain experts and vice versa
Solution
Bridging the communication gap between business and IT with
Behaviour-Driven Development.
Core benefits of Behaviour-Driven Development:
#1 Enabling communication
#2 Enabling collaboration
#3 Creating a shared understanding
#1 Enabling communication
Between technical and nontechnical project members
• Exemplifying expected behaviour in a domain specific language
▪ Example mapping
▪ Feature mapping
#1 Enabling communication
HOW? – Phase 1: Discovery
• Three amigos
• Example mapping
#2 Enabling collaboration
Between technical and nontechnical project members
• Coincides with communication
• Documenting in a ubiquitous language
▪ Gherkin
• Feedback
HOW? – Phase 2: Formulation
• Writing scenario’s in Gherkin (GWT) by Tester + Developer
• Review by PO/client
#2 Enabling collaboration
Given some context
When some action is carried out
Then a particular set of observable
consequences should obtain
#3 Creating a shared understanding
Between technical and nontechnical project members
#3 Creating a shared understanding
Between technical and nontechnical project members
EXTRA Automation + Living documentation
EXTRA Automation + Living documentation
EXTRA Automation + Living documentation
#3 Creating a shared understanding
TDD and BDD
Beware of misconceptions!
Beware of misconceptions!
Source: https://blog.rapid7.com/2017/06/19/what-is-bdd-testing-practical-examples-of-behavior-driven-development-testing/
Beware of misconceptions!
Source: https://blog.rapid7.com/2017/06/19/what-is-bdd-testing-practical-examples-of-behavior-driven-development-testing/
TDD
TEST
Beware of misconceptions!
Source: https://enginiety.com/knowledge/behaviour-driven-development-in-automated-tests
Beware of misconceptions!
Source: https://enginiety.com/knowledge/behaviour-driven-development-in-automated-tests
Beware of misconceptions!
Source: https://enginiety.com/knowledge/behaviour-driven-development-in-automated-tests
1 - users can search
2 - users can add to cart
3 - description is displayed (UI)
4 - Price is calculated
Beware of misconceptions!
Source: https://enginiety.com/knowledge/behaviour-driven-development-in-automated-tests
Given David has added Paris as a destination
When he adds the destination to his shopping cart
Then Paris should be added to his shopping cart
Beware of misconceptions!
Good examples?
Agile Alliance
• https://www.agilealliance.org/glossary/bdd
INVIQA
• The beginner's guide to BDD (behaviour-driven development)
• https://inviqa.com/blog/bdd-guide
Tweakers
• BDD op Tweakers (Dutch) – Hoe Tweakers Behat integreerde
• https://tweakers.net/reviews/6936/bdd-op-tweakers-hoe-tweakers-
behat-integreerde.html
Barriers
What barriers do we need to overcome for a successful adoption of
BDD?
• Learning curve
▪ Correct understanding is essential
▪ Avoid alienating team members from BDD!
• Dedicated team members
▪ Tester + Developer + Product owner
• Time
• Resources
• Business client’s support
THE BDDdna MATRIX
BDD-DNA Matrix
Why the BDD-DNA matrix?
• BDD is not just an
all-or-nothing
solution
• In practice, adopting
BDD as intended is
incredibly difficult
• Identify how you use
BDD and how you
can improve your
workflow in order to
maximise your ROI
Three phases of
BDD
#1 Discovery
#2 Formulation
#3 Automation
Always in a consecutive order!
Each of these phases have their own
challenges, making it very difficult to
master them all at once.
Which is why we propose a custom
approach to adopting BDD, based on
three different levels of maturity.
PHASE 1
Discovering the
unknown
PHASE 2
Validating the
shared
understanding
PHASE 3
Creating a living
documentation
The ideal BDD workflow ★★★
#1 Discovery
• Involve at least the 3 amigos
• Use example mapping sessions
#2 Formulation
• Write decent scenario titles
• Use DSL
• Write in pair
• Have the scenarios reviewed
#3 Automation
• Full stack automation
• Create living documentation
DSL = domain-specific language
The undercover BDD workflow ★★
#1 Discovery
• Regular (informal) team meetings
• Ask “what if?”-questions based on
your own pre-defined examples
• without mentioning BDD
#2 Formulation
• Write decent scenario titles
• Use DSL
• Write scenarios on your own or in
pair
#3 Automation
• Automate scenarios in E2E-tests
• Documentation
DSL = domain-specific language
The DIY BDD workflow ★
#1 Discovery
• Prepare and list all rules
• Clarify your rules with examples
• On your own..
#2 Formulation
• Write decent scenario titles
• Use DSL
#3 Automation
• Manual testing only
• Documentation
DSL = domain-specific language
Three levels of maturity
The lower the level of maturity is for the
Discovery phase, the lower the effort in the
Formulation phase should be
Three levels of maturity
The lower the level of maturity is for the
Formulation phase, the lower the effort in
the Automation phase should be
Three levels of maturity
In order to advance to a
next phase, at least a
minimal amount of effort
(=lowest maturity) must
be reached.
DO NOT SKIP A PHASE!
A custom approach
The ideal
workflow
A custom approach
Custom
approach
The custom BDD-DNA matrix:
• Allows for a smoother transition towards BDD
• Guards following a correct workflow
• Creates awareness of what BDD actually is
• Shows that BDD is not just an all-or-nothing solution
▪ The BDD matrix defines and highlights important processes
▪ Choose what fits your team
• Maximises benefits with a minimal amount of effort
Outcome
WHY SO MUCH EFFORT?
Solution
But… How do I convince the entire team of the value of BDD???
• Sometimes it’s just all about the ROI
• BDD changes the way we work
• But, if BDD has been adopted correctly, it will:
▪ reduce context switching and rework
▪ increase productivity (by all project members)
▪ Removes the need for translating and explaining code
▪ Provide reliable living documentation
▪ Automated tests
▪ Regression tests that focus on behaviours
Avoiding defects in an early stage
Avoiding defects in an early stage
Solution
Bridging the communication gap between business and IT with
Behaviour-Driven Development.
Goal of Behaviour-Driven Development:
#1 Enabling communication
#2 Enabling collaboration
#3 Creating a shared understanding
THANK YOU!
Visit us at: BDD-DNA.com
& research-expertise.ucll.be

Contenu connexe

Tendances

Tendances (20)

Unirest Java Tutorial | Java Http Client
Unirest Java Tutorial | Java Http ClientUnirest Java Tutorial | Java Http Client
Unirest Java Tutorial | Java Http Client
 
Web Assembly Big Picture
Web Assembly Big PictureWeb Assembly Big Picture
Web Assembly Big Picture
 
Introduction to jest
Introduction to jestIntroduction to jest
Introduction to jest
 
GraalVM Native and Spring Boot 3.0
GraalVM Native and Spring Boot 3.0GraalVM Native and Spring Boot 3.0
GraalVM Native and Spring Boot 3.0
 
WebAssembly WASM Introduction Presentation
WebAssembly WASM Introduction PresentationWebAssembly WASM Introduction Presentation
WebAssembly WASM Introduction Presentation
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
 
Building your First gRPC Service
Building your First gRPC ServiceBuilding your First gRPC Service
Building your First gRPC Service
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
 
OutSystems Webinar - Building a Live Style Guide
OutSystems Webinar - Building a Live Style GuideOutSystems Webinar - Building a Live Style Guide
OutSystems Webinar - Building a Live Style Guide
 
Cucumber BDD
Cucumber BDDCucumber BDD
Cucumber BDD
 
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막
 
Behavior driven development (bdd)
Behavior driven development (bdd)Behavior driven development (bdd)
Behavior driven development (bdd)
 
gRPC Design and Implementation
gRPC Design and ImplementationgRPC Design and Implementation
gRPC Design and Implementation
 
Java troubleshooting thread dump
Java troubleshooting thread dumpJava troubleshooting thread dump
Java troubleshooting thread dump
 
Why Should we use Microsoft's Playwright
Why Should we use Microsoft's PlaywrightWhy Should we use Microsoft's Playwright
Why Should we use Microsoft's Playwright
 
WebAssembly Overview
WebAssembly OverviewWebAssembly Overview
WebAssembly Overview
 
Gtm
GtmGtm
Gtm
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test Pyramid
 
Introduction to E2E in Cypress
Introduction to E2E in CypressIntroduction to E2E in Cypress
Introduction to E2E in Cypress
 

Similaire à BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven development: software for a happy customer

Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd
Sakares Saengkaew
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
All Things Open
 
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Agile India
 

Similaire à BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven development: software for a happy customer (20)

Topic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionTopic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolution
 
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
 
DRUPAL AUDITS MADE FASTR
DRUPAL AUDITS MADE FASTRDRUPAL AUDITS MADE FASTR
DRUPAL AUDITS MADE FASTR
 
Bdd - L'arte di non farsi i fatti propri
Bdd - L'arte di non farsi i fatti propriBdd - L'arte di non farsi i fatti propri
Bdd - L'arte di non farsi i fatti propri
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Behavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & JasmineBehavior Driven Development with AngularJS & Jasmine
Behavior Driven Development with AngularJS & Jasmine
 
Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)Domain-Driven Design (Artur Trosin Product Stream)
Domain-Driven Design (Artur Trosin Product Stream)
 
Behaviour Driven BizTalk Development
Behaviour Driven BizTalk DevelopmentBehaviour Driven BizTalk Development
Behaviour Driven BizTalk Development
 
The BDD Process (Behavior-driven development)
The BDD Process (Behavior-driven development)The BDD Process (Behavior-driven development)
The BDD Process (Behavior-driven development)
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software Delivery
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
 
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
 
Tdd and bdd
Tdd and bddTdd and bdd
Tdd and bdd
 
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
Strategic Domain-Driven Design by Nick Tune at #AgileIndia2019
 
PMI-Oslo chapter: PMI-ACP & Agile contracts
PMI-Oslo chapter: PMI-ACP & Agile contractsPMI-Oslo chapter: PMI-ACP & Agile contracts
PMI-Oslo chapter: PMI-ACP & Agile contracts
 

Plus de BA and Beyond

Plus de BA and Beyond (20)

BA and Beyond 20 - Marijke Verhavert and Hans Ponnet - Future-Proof Digital T...
BA and Beyond 20 - Marijke Verhavert and Hans Ponnet - Future-Proof Digital T...BA and Beyond 20 - Marijke Verhavert and Hans Ponnet - Future-Proof Digital T...
BA and Beyond 20 - Marijke Verhavert and Hans Ponnet - Future-Proof Digital T...
 
BA and Beyond 20 - Milena Mileva, Geertje Appel, and Danny Kalkhoven - Tools ...
BA and Beyond 20 - Milena Mileva, Geertje Appel, and Danny Kalkhoven - Tools ...BA and Beyond 20 - Milena Mileva, Geertje Appel, and Danny Kalkhoven - Tools ...
BA and Beyond 20 - Milena Mileva, Geertje Appel, and Danny Kalkhoven - Tools ...
 
BA and Beyond 20 - Maida Stevic - Communities of Practice Generation 3.0 — Ho...
BA and Beyond 20 - Maida Stevic - Communities of Practice Generation 3.0 — Ho...BA and Beyond 20 - Maida Stevic - Communities of Practice Generation 3.0 — Ho...
BA and Beyond 20 - Maida Stevic - Communities of Practice Generation 3.0 — Ho...
 
BA and Beyond 20 - Liz Calder - We can, but should we? Modern ethics and the BA.
BA and Beyond 20 - Liz Calder - We can, but should we? Modern ethics and the BA.BA and Beyond 20 - Liz Calder - We can, but should we? Modern ethics and the BA.
BA and Beyond 20 - Liz Calder - We can, but should we? Modern ethics and the BA.
 
BA and Beyond 20 - Lien Brusselaers and Jasper Bosmans - Optimize the experie...
BA and Beyond 20 - Lien Brusselaers and Jasper Bosmans - Optimize the experie...BA and Beyond 20 - Lien Brusselaers and Jasper Bosmans - Optimize the experie...
BA and Beyond 20 - Lien Brusselaers and Jasper Bosmans - Optimize the experie...
 
BA and Beyond 20 - Joris Van Ostaeyen - Demystifying Robotic Process Automati...
BA and Beyond 20 - Joris Van Ostaeyen - Demystifying Robotic Process Automati...BA and Beyond 20 - Joris Van Ostaeyen - Demystifying Robotic Process Automati...
BA and Beyond 20 - Joris Van Ostaeyen - Demystifying Robotic Process Automati...
 
BA and Beyond 20 - Johan Merckx - Being a Conscious Business Analyst
BA and Beyond 20 - Johan Merckx - Being a Conscious Business AnalystBA and Beyond 20 - Johan Merckx - Being a Conscious Business Analyst
BA and Beyond 20 - Johan Merckx - Being a Conscious Business Analyst
 
BA and Beyond 20 - Jan de Vries - What can Antifragility do for business anal...
BA and Beyond 20 - Jan de Vries - What can Antifragility do for business anal...BA and Beyond 20 - Jan de Vries - What can Antifragility do for business anal...
BA and Beyond 20 - Jan de Vries - What can Antifragility do for business anal...
 
BA and Beyond 20 - Ines Vanlangendonck - Stand out and apply empathy
BA and Beyond 20 - Ines Vanlangendonck - Stand out and apply empathyBA and Beyond 20 - Ines Vanlangendonck - Stand out and apply empathy
BA and Beyond 20 - Ines Vanlangendonck - Stand out and apply empathy
 
BA and Beyond 20 - IIBA Brussels Chapter - You, yourself and your BA community…
BA and Beyond 20 - IIBA Brussels Chapter - You, yourself and your BA community…BA and Beyond 20 - IIBA Brussels Chapter - You, yourself and your BA community…
BA and Beyond 20 - IIBA Brussels Chapter - You, yourself and your BA community…
 
BA and Beyond 20 - Geert Haerens - Evolvable Architecture — Are you hoping fo...
BA and Beyond 20 - Geert Haerens - Evolvable Architecture — Are you hoping fo...BA and Beyond 20 - Geert Haerens - Evolvable Architecture — Are you hoping fo...
BA and Beyond 20 - Geert Haerens - Evolvable Architecture — Are you hoping fo...
 
BA and Beyond 20 - Friederike Schröder-Pander - The rocky path to a process o...
BA and Beyond 20 - Friederike Schröder-Pander - The rocky path to a process o...BA and Beyond 20 - Friederike Schröder-Pander - The rocky path to a process o...
BA and Beyond 20 - Friederike Schröder-Pander - The rocky path to a process o...
 
BA and Beyond 20 - Dennis Aarts and Bert Heymans - Model Driven Engineering
BA and Beyond 20 - Dennis Aarts and Bert Heymans - Model Driven EngineeringBA and Beyond 20 - Dennis Aarts and Bert Heymans - Model Driven Engineering
BA and Beyond 20 - Dennis Aarts and Bert Heymans - Model Driven Engineering
 
BA and Beyond 20 - Birgit Hay - Artificial Intelligence (AI), the new top spo...
BA and Beyond 20 - Birgit Hay - Artificial Intelligence (AI), the new top spo...BA and Beyond 20 - Birgit Hay - Artificial Intelligence (AI), the new top spo...
BA and Beyond 20 - Birgit Hay - Artificial Intelligence (AI), the new top spo...
 
BA and Beyond 20 - Bas Van Gils - Data management: from the trenches
BA and Beyond 20 - Bas Van Gils - Data management: from the trenchesBA and Beyond 20 - Bas Van Gils - Data management: from the trenches
BA and Beyond 20 - Bas Van Gils - Data management: from the trenches
 
BA and Beyond 20 - Antonio Gonzalez Sanchis - Add some RICE to your organisation
BA and Beyond 20 - Antonio Gonzalez Sanchis - Add some RICE to your organisationBA and Beyond 20 - Antonio Gonzalez Sanchis - Add some RICE to your organisation
BA and Beyond 20 - Antonio Gonzalez Sanchis - Add some RICE to your organisation
 
BA and Beyond 20 - Ann Leemans - The Business Analyst: Saboteur or Ambassador...
BA and Beyond 20 - Ann Leemans - The Business Analyst: Saboteur or Ambassador...BA and Beyond 20 - Ann Leemans - The Business Analyst: Saboteur or Ambassador...
BA and Beyond 20 - Ann Leemans - The Business Analyst: Saboteur or Ambassador...
 
BA and Beyond 18 Evening Event - Adrian Reed - Leading from the Middle
BA and Beyond 18 Evening Event - Adrian Reed - Leading from the MiddleBA and Beyond 18 Evening Event - Adrian Reed - Leading from the Middle
BA and Beyond 18 Evening Event - Adrian Reed - Leading from the Middle
 
BA and Beyond 19 Autumn Event - Pieter-Jan Pauwels - Museum of Things for People
BA and Beyond 19 Autumn Event - Pieter-Jan Pauwels - Museum of Things for PeopleBA and Beyond 19 Autumn Event - Pieter-Jan Pauwels - Museum of Things for People
BA and Beyond 19 Autumn Event - Pieter-Jan Pauwels - Museum of Things for People
 
BA and Beyond 19 Autumn Event - Jurgen Claes - RPA at Acerta Payroll
BA and Beyond 19 Autumn Event - Jurgen Claes - RPA at Acerta PayrollBA and Beyond 19 Autumn Event - Jurgen Claes - RPA at Acerta Payroll
BA and Beyond 19 Autumn Event - Jurgen Claes - RPA at Acerta Payroll
 

Dernier

Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
instagramfab782445
 
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
awasv46j
 
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
nirzagarg
 
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
drmarathore
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
saipriyacoool
 
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
yhavx
 
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
gajnagarg
 
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
ZurliaSoop
 
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
gajnagarg
 
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
nirzagarg
 

Dernier (20)

High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best ServiceHigh Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
 
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
一比一原版(WLU毕业证)罗瑞尔大学毕业证成绩单留信学历认证原版一模一样
 
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
 
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
 
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
 
Essential UI/UX Design Principles: A Comprehensive Guide
Essential UI/UX Design Principles: A Comprehensive GuideEssential UI/UX Design Principles: A Comprehensive Guide
Essential UI/UX Design Principles: A Comprehensive Guide
 
Raebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for Friendship
Raebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for FriendshipRaebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for Friendship
Raebareli Girl Whatsapp Number 📞 8617370543 | Girls Number for Friendship
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
 
TRose UXPA Experience Design Concord .pptx
TRose UXPA Experience Design Concord .pptxTRose UXPA Experience Design Concord .pptx
TRose UXPA Experience Design Concord .pptx
 
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
 
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
 
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
How to Create a Productive Workspace Trends and Tips.pdf
How to Create a Productive Workspace Trends and Tips.pdfHow to Create a Productive Workspace Trends and Tips.pdf
How to Create a Productive Workspace Trends and Tips.pdf
 
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
 
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
Top profile Call Girls In Sonipat [ 7014168258 ] Call Me For Genuine Models W...
 
LANDSCAPE ARCHITECTURE PORTFOLIO - MAREK MITACEK
LANDSCAPE ARCHITECTURE PORTFOLIO - MAREK MITACEKLANDSCAPE ARCHITECTURE PORTFOLIO - MAREK MITACEK
LANDSCAPE ARCHITECTURE PORTFOLIO - MAREK MITACEK
 

BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven development: software for a happy customer

  • 1.
  • 2. BRIDGING THE COMMUNICATION GAP BETWEEN BUSINESS AND IT WITH BDD: A CUSTOM APPROACH
  • 3. Project details - FirstTimeRight • Funded by the Flemish government • Co-funded by steering committee members • Duration: 2 years (2018-2020) Elke Steegmans Project manager Mieke Kemme Quality manager Wannes Fransen Developer Nicolas Lauwereys Developer Frederik Thielemans Functional Analyst David Vandenbroeck Functional Analyst
  • 5. Project details - FirstTimeRight Problem Existence of a communication gap between the technical and the nontechnical, due to ambiguities and misunderstandings that exist within the team and between the customer. Solution Behaviour-Driven Development
  • 6. Objective Support IT-companies in the adoption of BDD: • Cookbook • Online platform • Workshops • Add BDD to the curriculum
  • 7. Methods Research methods: • Desk research • Literature study • Case studies (5) • Stakeholder interviews (20) • Expert interviews (5)
  • 9. The core of BDD • Communication! • Ubiquitous language • Closing the communication gap ▪ So that technical experts can communicate with domain experts and vice versa
  • 10. Solution Bridging the communication gap between business and IT with Behaviour-Driven Development. Core benefits of Behaviour-Driven Development: #1 Enabling communication #2 Enabling collaboration #3 Creating a shared understanding
  • 11. #1 Enabling communication Between technical and nontechnical project members • Exemplifying expected behaviour in a domain specific language ▪ Example mapping ▪ Feature mapping
  • 12. #1 Enabling communication HOW? – Phase 1: Discovery • Three amigos • Example mapping
  • 13. #2 Enabling collaboration Between technical and nontechnical project members • Coincides with communication • Documenting in a ubiquitous language ▪ Gherkin • Feedback
  • 14. HOW? – Phase 2: Formulation • Writing scenario’s in Gherkin (GWT) by Tester + Developer • Review by PO/client #2 Enabling collaboration Given some context When some action is carried out Then a particular set of observable consequences should obtain
  • 15. #3 Creating a shared understanding Between technical and nontechnical project members
  • 16. #3 Creating a shared understanding Between technical and nontechnical project members
  • 17. EXTRA Automation + Living documentation
  • 18. EXTRA Automation + Living documentation
  • 19. EXTRA Automation + Living documentation
  • 20. #3 Creating a shared understanding
  • 23. Beware of misconceptions! Source: https://blog.rapid7.com/2017/06/19/what-is-bdd-testing-practical-examples-of-behavior-driven-development-testing/
  • 24. Beware of misconceptions! Source: https://blog.rapid7.com/2017/06/19/what-is-bdd-testing-practical-examples-of-behavior-driven-development-testing/ TDD TEST
  • 25. Beware of misconceptions! Source: https://enginiety.com/knowledge/behaviour-driven-development-in-automated-tests
  • 26. Beware of misconceptions! Source: https://enginiety.com/knowledge/behaviour-driven-development-in-automated-tests
  • 27. Beware of misconceptions! Source: https://enginiety.com/knowledge/behaviour-driven-development-in-automated-tests 1 - users can search 2 - users can add to cart 3 - description is displayed (UI) 4 - Price is calculated
  • 28. Beware of misconceptions! Source: https://enginiety.com/knowledge/behaviour-driven-development-in-automated-tests Given David has added Paris as a destination When he adds the destination to his shopping cart Then Paris should be added to his shopping cart
  • 30. Good examples? Agile Alliance • https://www.agilealliance.org/glossary/bdd INVIQA • The beginner's guide to BDD (behaviour-driven development) • https://inviqa.com/blog/bdd-guide Tweakers • BDD op Tweakers (Dutch) – Hoe Tweakers Behat integreerde • https://tweakers.net/reviews/6936/bdd-op-tweakers-hoe-tweakers- behat-integreerde.html
  • 31. Barriers What barriers do we need to overcome for a successful adoption of BDD? • Learning curve ▪ Correct understanding is essential ▪ Avoid alienating team members from BDD! • Dedicated team members ▪ Tester + Developer + Product owner • Time • Resources • Business client’s support
  • 33. BDD-DNA Matrix Why the BDD-DNA matrix? • BDD is not just an all-or-nothing solution • In practice, adopting BDD as intended is incredibly difficult • Identify how you use BDD and how you can improve your workflow in order to maximise your ROI
  • 34. Three phases of BDD #1 Discovery #2 Formulation #3 Automation Always in a consecutive order! Each of these phases have their own challenges, making it very difficult to master them all at once. Which is why we propose a custom approach to adopting BDD, based on three different levels of maturity. PHASE 1 Discovering the unknown PHASE 2 Validating the shared understanding PHASE 3 Creating a living documentation
  • 35. The ideal BDD workflow ★★★ #1 Discovery • Involve at least the 3 amigos • Use example mapping sessions #2 Formulation • Write decent scenario titles • Use DSL • Write in pair • Have the scenarios reviewed #3 Automation • Full stack automation • Create living documentation DSL = domain-specific language
  • 36. The undercover BDD workflow ★★ #1 Discovery • Regular (informal) team meetings • Ask “what if?”-questions based on your own pre-defined examples • without mentioning BDD #2 Formulation • Write decent scenario titles • Use DSL • Write scenarios on your own or in pair #3 Automation • Automate scenarios in E2E-tests • Documentation DSL = domain-specific language
  • 37. The DIY BDD workflow ★ #1 Discovery • Prepare and list all rules • Clarify your rules with examples • On your own.. #2 Formulation • Write decent scenario titles • Use DSL #3 Automation • Manual testing only • Documentation DSL = domain-specific language
  • 38. Three levels of maturity The lower the level of maturity is for the Discovery phase, the lower the effort in the Formulation phase should be
  • 39. Three levels of maturity The lower the level of maturity is for the Formulation phase, the lower the effort in the Automation phase should be
  • 40. Three levels of maturity In order to advance to a next phase, at least a minimal amount of effort (=lowest maturity) must be reached. DO NOT SKIP A PHASE!
  • 41. A custom approach The ideal workflow
  • 43. The custom BDD-DNA matrix: • Allows for a smoother transition towards BDD • Guards following a correct workflow • Creates awareness of what BDD actually is • Shows that BDD is not just an all-or-nothing solution ▪ The BDD matrix defines and highlights important processes ▪ Choose what fits your team • Maximises benefits with a minimal amount of effort Outcome
  • 44. WHY SO MUCH EFFORT?
  • 45. Solution But… How do I convince the entire team of the value of BDD??? • Sometimes it’s just all about the ROI • BDD changes the way we work • But, if BDD has been adopted correctly, it will: ▪ reduce context switching and rework ▪ increase productivity (by all project members) ▪ Removes the need for translating and explaining code ▪ Provide reliable living documentation ▪ Automated tests ▪ Regression tests that focus on behaviours
  • 46. Avoiding defects in an early stage
  • 47. Avoiding defects in an early stage
  • 48. Solution Bridging the communication gap between business and IT with Behaviour-Driven Development. Goal of Behaviour-Driven Development: #1 Enabling communication #2 Enabling collaboration #3 Creating a shared understanding
  • 49. THANK YOU! Visit us at: BDD-DNA.com & research-expertise.ucll.be