SlideShare a Scribd company logo
BDD
How to Solve Communication Problems
Rikke Simonsen - @vanilleDK - rikke@reload.dk
• Introduction - Me and BDD
• Exercise 1: Build a Duck
• Exercise 2: Pass the Message
• Exercise 3: Three Amigos Workshop
Workshop Agenda
• Background in Computer Science
• Former tester (and still a tester by heart)
• Project manager in a small consultancy
called Reload specialized in building
complex websites based on the CMS
called Drupal
• Passionate about agile testing and
Behavior Driven Development (BDD)
• Organizer of the “Copenhagen BDD
Meetup”
The Professional Side of Me
• From the land of vikings and the
inventors of Lego (Denmark)
• Have 3 kids with autism and a bunch of
other disabilities (What doesn't kill you
makes you stronger)
• involved in voluntary work and disability
policy (Just as passionate about this as
with testing)
• Town councillor (yes i get scolded a lot)
The Private Side of Me
• Bringing the team together to get a
shared understanding of the problem
domain
• Discussing real world examples instead
of abstract requirements
• Creating a common language to avoid
misunderstandings
• Fleshing out inconsistencies and
functionality gaps
BDD is a Communication Tool
• “Given, When, Then” is just a syntax. It’s
not BDD.
• The value lies primarily in the
conversations, not the automated tests.
• The written specifications from a BDD
workshop can be automated giving you
automated regression tests and living
documentation, but it’s just a pleasant
side effect. It should not be the main
purpose.
BDD is not a Tool for Automation
Having conversations
is more important than
capturing conversations
is more important than
automating conversations
– Liz Keogh, @lunivore
Gherkin
Gherkin is a
Business Readable,
Domain Specific
Language that lets
you describe
software's behaviour
without detailing
how that behaviour
is implemented
Feature: [title]
In order to [achieve some goal]
As a [user]
I need to [make an impact]
Scenario: [title]
Given [some initial context]
When [some action occur]
Then [some observable consequence]
Bad Example
Better Example
Build a duck using these 6 bricks.
You have 40 seconds !
Exercise 1: Build a Duck
• Why did you not build the same?
• Does it matter that you came to
different outcomes?
• What determines whether the different
ducks are acceptable or not?
• Who should decide?
• What could be done to align the
understanding of the specification?
Discuss these Questions
• Even a simple specification can be
interpreted in many different ways
• Our perception is influenced by our
backgrounds, experiences and personal
characteristics
• Whether the different outcomes matter
or not depends on the goal we should
achieve
• It’s the business stakeholders who
decide if the business goal are met or
not
• Knowing why to build something and not
only what to build - helps meeting the
goal
It’s not complicated to build something
that works. It’s much harder to build
something that works as intended and
that delivers the desired business value.
To ensure we meet the right business goal we need to
understand the business domain and what the desired
outcome is rather than what feature to build. Only when
everyone on the team are aligned, we can all pull in the
right direction.
1) Stand up and form 2 lines.
2) The first person in each line gets a
secret message and whispers it to the
next person in line.
3) The message gets passed from person
to person down the line.
4) The last person in the line says the
message out loud when asked.
Rule:
• The message can not be repeated and
can only be whispered
Exercise 2: Pass the Message
• Why did the message change?
• How could the message be stabilized?
Discuss these Questions
• The message changed because it
wasn’t allowed to repeat the message or
speak it out loud.
• It wasn’t possible for the receiver to ask
questions to the sender about words
that was not understood.
• The message could be stabilized by
shortening the chain from the first
person to the last person.
• The message could be stabilized by
sharing the information with everybody
at the same time and allowing them to
discuss it.
3 Amigos
Discussing examples helps exploring the
domain and identifying edge cases. The
discussion leads to new user stories,
rules and examples and flesh out gaps and
inconsistencies that has to be addressed.
Exercise 3: Three Amigos Workshop
Exercise 3: Three Amigos Workshop
Exercise 3: Three Amigos Workshop
• Yellow notes for user stories
• Blue notes for acceptance criteria
• Green notes for examples
• Red notes for open questions
Use real life examples as much as
possible. Examples beats a list of
instructions every single time.
Books:
by John Ferguson Smart by Gojko Adzic
Thank you!
Get in touch: @vanilleDK or rikke@reload.dk

More Related Content

Similar to Bdd - how to solve communication problems

Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Nathalie Reid
 
Technical Communication for Unity Developers
Technical Communication for Unity DevelopersTechnical Communication for Unity Developers
Technical Communication for Unity Developers
Unity Technologies
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
enteritos
 
How to Talk About Your Open Source Project So People Get It
How to Talk About Your Open Source Project So People Get ItHow to Talk About Your Open Source Project So People Get It
How to Talk About Your Open Source Project So People Get It
All Things Open
 
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR 2017
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR  2017Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR  2017
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR 2017
Sylvia MacDonald
 
The Path to Good Software Hygiene Betty Le Dem
The Path to Good Software Hygiene Betty Le DemThe Path to Good Software Hygiene Betty Le Dem
The Path to Good Software Hygiene Betty Le Dem
contaokubo
 
2012 staff-immediate tech infusion
2012 staff-immediate tech infusion2012 staff-immediate tech infusion
2012 staff-immediate tech infusion
SchoolTechPolicies.com
 
Twenty years of Information Overload Solutions
Twenty years of Information Overload SolutionsTwenty years of Information Overload Solutions
Twenty years of Information Overload Solutions
Nathan Zeldes
 
Introduction to Design Thinking Workshop
Introduction to Design Thinking WorkshopIntroduction to Design Thinking Workshop
Introduction to Design Thinking Workshop
Molly B. Zielezinski PhD
 
Not Another Paper: Alternative Assessments with Technology
Not Another Paper: Alternative Assessments with TechnologyNot Another Paper: Alternative Assessments with Technology
Not Another Paper: Alternative Assessments with Technology
EdTechTeacher.org
 
501 Talks Tech: Design Thinking Workshop by Dupla Studios
501 Talks Tech: Design Thinking Workshop by Dupla Studios501 Talks Tech: Design Thinking Workshop by Dupla Studios
501 Talks Tech: Design Thinking Workshop by Dupla Studios
501 Commons
 
Collaboration Within A Multidisciplinary Team
Collaboration Within A Multidisciplinary Team Collaboration Within A Multidisciplinary Team
Collaboration Within A Multidisciplinary Team
Michele Ide-Smith
 
Interface Design for Elearning - Tips and Tricks
Interface Design for Elearning - Tips and TricksInterface Design for Elearning - Tips and Tricks
Interface Design for Elearning - Tips and Tricks
Julie Dirksen
 
Collaborative Information Architecture (ias17)
Collaborative Information Architecture (ias17)Collaborative Information Architecture (ias17)
Collaborative Information Architecture (ias17)
Abby Covert
 
Life and workhacking with digital tools, 2014 edition. © Jan-Hendrik Senf, ww...
Life and workhacking with digital tools, 2014 edition. © Jan-Hendrik Senf, ww...Life and workhacking with digital tools, 2014 edition. © Jan-Hendrik Senf, ww...
Life and workhacking with digital tools, 2014 edition. © Jan-Hendrik Senf, ww...
SENF - Social Media Consulting
 
NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1
Bert Jan Schrijver
 
Object Oriented Design
Object Oriented Design Object Oriented Design
Object Oriented Design
DivyaSure
 
User Interface Design- Module 2 Uid Process
User Interface Design- Module 2 Uid ProcessUser Interface Design- Module 2 Uid Process
User Interface Design- Module 2 Uid Process
brindaN
 
The importance of being communicative (vers. 2014)
The importance of being communicative (vers. 2014)The importance of being communicative (vers. 2014)
The importance of being communicative (vers. 2014)
Frieda Brioschi
 
Csu sept2011 4ggl
Csu sept2011 4gglCsu sept2011 4ggl
Csu sept2011 4ggl
Marc Boots-Ebenfield
 

Similar to Bdd - how to solve communication problems (20)

Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
 
Technical Communication for Unity Developers
Technical Communication for Unity DevelopersTechnical Communication for Unity Developers
Technical Communication for Unity Developers
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
How to Talk About Your Open Source Project So People Get It
How to Talk About Your Open Source Project So People Get ItHow to Talk About Your Open Source Project So People Get It
How to Talk About Your Open Source Project So People Get It
 
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR 2017
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR  2017Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR  2017
Sylvia MacDonald - How the Three Amigos made us more effective - EuroSTAR 2017
 
The Path to Good Software Hygiene Betty Le Dem
The Path to Good Software Hygiene Betty Le DemThe Path to Good Software Hygiene Betty Le Dem
The Path to Good Software Hygiene Betty Le Dem
 
2012 staff-immediate tech infusion
2012 staff-immediate tech infusion2012 staff-immediate tech infusion
2012 staff-immediate tech infusion
 
Twenty years of Information Overload Solutions
Twenty years of Information Overload SolutionsTwenty years of Information Overload Solutions
Twenty years of Information Overload Solutions
 
Introduction to Design Thinking Workshop
Introduction to Design Thinking WorkshopIntroduction to Design Thinking Workshop
Introduction to Design Thinking Workshop
 
Not Another Paper: Alternative Assessments with Technology
Not Another Paper: Alternative Assessments with TechnologyNot Another Paper: Alternative Assessments with Technology
Not Another Paper: Alternative Assessments with Technology
 
501 Talks Tech: Design Thinking Workshop by Dupla Studios
501 Talks Tech: Design Thinking Workshop by Dupla Studios501 Talks Tech: Design Thinking Workshop by Dupla Studios
501 Talks Tech: Design Thinking Workshop by Dupla Studios
 
Collaboration Within A Multidisciplinary Team
Collaboration Within A Multidisciplinary Team Collaboration Within A Multidisciplinary Team
Collaboration Within A Multidisciplinary Team
 
Interface Design for Elearning - Tips and Tricks
Interface Design for Elearning - Tips and TricksInterface Design for Elearning - Tips and Tricks
Interface Design for Elearning - Tips and Tricks
 
Collaborative Information Architecture (ias17)
Collaborative Information Architecture (ias17)Collaborative Information Architecture (ias17)
Collaborative Information Architecture (ias17)
 
Life and workhacking with digital tools, 2014 edition. © Jan-Hendrik Senf, ww...
Life and workhacking with digital tools, 2014 edition. © Jan-Hendrik Senf, ww...Life and workhacking with digital tools, 2014 edition. © Jan-Hendrik Senf, ww...
Life and workhacking with digital tools, 2014 edition. © Jan-Hendrik Senf, ww...
 
NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1
 
Object Oriented Design
Object Oriented Design Object Oriented Design
Object Oriented Design
 
User Interface Design- Module 2 Uid Process
User Interface Design- Module 2 Uid ProcessUser Interface Design- Module 2 Uid Process
User Interface Design- Module 2 Uid Process
 
The importance of being communicative (vers. 2014)
The importance of being communicative (vers. 2014)The importance of being communicative (vers. 2014)
The importance of being communicative (vers. 2014)
 
Csu sept2011 4ggl
Csu sept2011 4gglCsu sept2011 4ggl
Csu sept2011 4ggl
 

More from Reload! A/S

Skab tidlig læring i digitale projekter
Skab tidlig læring i digitale projekterSkab tidlig læring i digitale projekter
Skab tidlig læring i digitale projekter
Reload! A/S
 
Ryk i skyen eller dø - cloud erfaringer fra virkeligheden
Ryk i skyen eller dø - cloud erfaringer fra virkelighedenRyk i skyen eller dø - cloud erfaringer fra virkeligheden
Ryk i skyen eller dø - cloud erfaringer fra virkeligheden
Reload! A/S
 
Digital transformation er også et organisatorisk forandringsprojekt
Digital transformation er også et organisatorisk forandringsprojektDigital transformation er også et organisatorisk forandringsprojekt
Digital transformation er også et organisatorisk forandringsprojekt
Reload! A/S
 
Digital vs kulturel transformation med Nikolaj Opstrup fra Bonnier
Digital vs kulturel transformation med Nikolaj Opstrup fra BonnierDigital vs kulturel transformation med Nikolaj Opstrup fra Bonnier
Digital vs kulturel transformation med Nikolaj Opstrup fra Bonnier
Reload! A/S
 
Digitale projekter der fejlede
Digitale projekter der fejledeDigitale projekter der fejlede
Digitale projekter der fejlede
Reload! A/S
 
Smid planen væk og skab forretningsværdi i stedet
Smid planen væk og skab forretningsværdi i stedetSmid planen væk og skab forretningsværdi i stedet
Smid planen væk og skab forretningsværdi i stedet
Reload! A/S
 
Produktstrategi hos The Ramp/Danfoss
Produktstrategi hos The Ramp/DanfossProduktstrategi hos The Ramp/Danfoss
Produktstrategi hos The Ramp/Danfoss
Reload! A/S
 
Produktstrategi den 28.11.19
Produktstrategi den 28.11.19Produktstrategi den 28.11.19
Produktstrategi den 28.11.19
Reload! A/S
 
DevOps
DevOpsDevOps
DevOps
Reload! A/S
 
DevOps og erfaringer med Spotify-modellen hos YouSee
DevOps og erfaringer med Spotify-modellen hos YouSeeDevOps og erfaringer med Spotify-modellen hos YouSee
DevOps og erfaringer med Spotify-modellen hos YouSee
Reload! A/S
 
Scan & betal how do we do agile and what do we learn - reload 26 9-19
Scan & betal   how do we do agile and what do we learn - reload 26 9-19Scan & betal   how do we do agile and what do we learn - reload 26 9-19
Scan & betal how do we do agile and what do we learn - reload 26 9-19
Reload! A/S
 
Gaa hjem-moede 26. september 2019 agile metoder der virker
Gaa hjem-moede 26. september 2019  agile metoder der virkerGaa hjem-moede 26. september 2019  agile metoder der virker
Gaa hjem-moede 26. september 2019 agile metoder der virker
Reload! A/S
 
Det Danske Spejderkorps
Det Danske SpejderkorpsDet Danske Spejderkorps
Det Danske Spejderkorps
Reload! A/S
 
Tillidsbaseret samarbejde
Tillidsbaseret samarbejdeTillidsbaseret samarbejde
Tillidsbaseret samarbejde
Reload! A/S
 
Sådan leder du digital transformation
Sådan leder du digital transformationSådan leder du digital transformation
Sådan leder du digital transformation
Reload! A/S
 
Digital Transformation i DAC
Digital Transformation i DACDigital Transformation i DAC
Digital Transformation i DAC
Reload! A/S
 
Drupalcamp2016 dockerftw
Drupalcamp2016 dockerftwDrupalcamp2016 dockerftw
Drupalcamp2016 dockerftw
Reload! A/S
 
Smk -2015.09.30
Smk  -2015.09.30Smk  -2015.09.30
Smk -2015.09.30
Reload! A/S
 
Reload præsentation
Reload præsentationReload præsentation
Reload præsentation
Reload! A/S
 
Agile that works_and_the_tools_we_love
Agile that works_and_the_tools_we_loveAgile that works_and_the_tools_we_love
Agile that works_and_the_tools_we_love
Reload! A/S
 

More from Reload! A/S (20)

Skab tidlig læring i digitale projekter
Skab tidlig læring i digitale projekterSkab tidlig læring i digitale projekter
Skab tidlig læring i digitale projekter
 
Ryk i skyen eller dø - cloud erfaringer fra virkeligheden
Ryk i skyen eller dø - cloud erfaringer fra virkelighedenRyk i skyen eller dø - cloud erfaringer fra virkeligheden
Ryk i skyen eller dø - cloud erfaringer fra virkeligheden
 
Digital transformation er også et organisatorisk forandringsprojekt
Digital transformation er også et organisatorisk forandringsprojektDigital transformation er også et organisatorisk forandringsprojekt
Digital transformation er også et organisatorisk forandringsprojekt
 
Digital vs kulturel transformation med Nikolaj Opstrup fra Bonnier
Digital vs kulturel transformation med Nikolaj Opstrup fra BonnierDigital vs kulturel transformation med Nikolaj Opstrup fra Bonnier
Digital vs kulturel transformation med Nikolaj Opstrup fra Bonnier
 
Digitale projekter der fejlede
Digitale projekter der fejledeDigitale projekter der fejlede
Digitale projekter der fejlede
 
Smid planen væk og skab forretningsværdi i stedet
Smid planen væk og skab forretningsværdi i stedetSmid planen væk og skab forretningsværdi i stedet
Smid planen væk og skab forretningsværdi i stedet
 
Produktstrategi hos The Ramp/Danfoss
Produktstrategi hos The Ramp/DanfossProduktstrategi hos The Ramp/Danfoss
Produktstrategi hos The Ramp/Danfoss
 
Produktstrategi den 28.11.19
Produktstrategi den 28.11.19Produktstrategi den 28.11.19
Produktstrategi den 28.11.19
 
DevOps
DevOpsDevOps
DevOps
 
DevOps og erfaringer med Spotify-modellen hos YouSee
DevOps og erfaringer med Spotify-modellen hos YouSeeDevOps og erfaringer med Spotify-modellen hos YouSee
DevOps og erfaringer med Spotify-modellen hos YouSee
 
Scan & betal how do we do agile and what do we learn - reload 26 9-19
Scan & betal   how do we do agile and what do we learn - reload 26 9-19Scan & betal   how do we do agile and what do we learn - reload 26 9-19
Scan & betal how do we do agile and what do we learn - reload 26 9-19
 
Gaa hjem-moede 26. september 2019 agile metoder der virker
Gaa hjem-moede 26. september 2019  agile metoder der virkerGaa hjem-moede 26. september 2019  agile metoder der virker
Gaa hjem-moede 26. september 2019 agile metoder der virker
 
Det Danske Spejderkorps
Det Danske SpejderkorpsDet Danske Spejderkorps
Det Danske Spejderkorps
 
Tillidsbaseret samarbejde
Tillidsbaseret samarbejdeTillidsbaseret samarbejde
Tillidsbaseret samarbejde
 
Sådan leder du digital transformation
Sådan leder du digital transformationSådan leder du digital transformation
Sådan leder du digital transformation
 
Digital Transformation i DAC
Digital Transformation i DACDigital Transformation i DAC
Digital Transformation i DAC
 
Drupalcamp2016 dockerftw
Drupalcamp2016 dockerftwDrupalcamp2016 dockerftw
Drupalcamp2016 dockerftw
 
Smk -2015.09.30
Smk  -2015.09.30Smk  -2015.09.30
Smk -2015.09.30
 
Reload præsentation
Reload præsentationReload præsentation
Reload præsentation
 
Agile that works_and_the_tools_we_love
Agile that works_and_the_tools_we_loveAgile that works_and_the_tools_we_love
Agile that works_and_the_tools_we_love
 

Recently uploaded

Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 

Recently uploaded (20)

Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 

Bdd - how to solve communication problems

  • 1. BDD How to Solve Communication Problems Rikke Simonsen - @vanilleDK - rikke@reload.dk
  • 2. • Introduction - Me and BDD • Exercise 1: Build a Duck • Exercise 2: Pass the Message • Exercise 3: Three Amigos Workshop Workshop Agenda
  • 3. • Background in Computer Science • Former tester (and still a tester by heart) • Project manager in a small consultancy called Reload specialized in building complex websites based on the CMS called Drupal • Passionate about agile testing and Behavior Driven Development (BDD) • Organizer of the “Copenhagen BDD Meetup” The Professional Side of Me
  • 4. • From the land of vikings and the inventors of Lego (Denmark) • Have 3 kids with autism and a bunch of other disabilities (What doesn't kill you makes you stronger) • involved in voluntary work and disability policy (Just as passionate about this as with testing) • Town councillor (yes i get scolded a lot) The Private Side of Me
  • 5. • Bringing the team together to get a shared understanding of the problem domain • Discussing real world examples instead of abstract requirements • Creating a common language to avoid misunderstandings • Fleshing out inconsistencies and functionality gaps BDD is a Communication Tool
  • 6. • “Given, When, Then” is just a syntax. It’s not BDD. • The value lies primarily in the conversations, not the automated tests. • The written specifications from a BDD workshop can be automated giving you automated regression tests and living documentation, but it’s just a pleasant side effect. It should not be the main purpose. BDD is not a Tool for Automation
  • 7. Having conversations is more important than capturing conversations is more important than automating conversations – Liz Keogh, @lunivore
  • 8. Gherkin Gherkin is a Business Readable, Domain Specific Language that lets you describe software's behaviour without detailing how that behaviour is implemented Feature: [title] In order to [achieve some goal] As a [user] I need to [make an impact] Scenario: [title] Given [some initial context] When [some action occur] Then [some observable consequence]
  • 11. Build a duck using these 6 bricks. You have 40 seconds ! Exercise 1: Build a Duck
  • 12. • Why did you not build the same? • Does it matter that you came to different outcomes? • What determines whether the different ducks are acceptable or not? • Who should decide? • What could be done to align the understanding of the specification? Discuss these Questions
  • 13. • Even a simple specification can be interpreted in many different ways • Our perception is influenced by our backgrounds, experiences and personal characteristics • Whether the different outcomes matter or not depends on the goal we should achieve • It’s the business stakeholders who decide if the business goal are met or not • Knowing why to build something and not only what to build - helps meeting the goal
  • 14. It’s not complicated to build something that works. It’s much harder to build something that works as intended and that delivers the desired business value.
  • 15. To ensure we meet the right business goal we need to understand the business domain and what the desired outcome is rather than what feature to build. Only when everyone on the team are aligned, we can all pull in the right direction.
  • 16. 1) Stand up and form 2 lines. 2) The first person in each line gets a secret message and whispers it to the next person in line. 3) The message gets passed from person to person down the line. 4) The last person in the line says the message out loud when asked. Rule: • The message can not be repeated and can only be whispered Exercise 2: Pass the Message
  • 17. • Why did the message change? • How could the message be stabilized? Discuss these Questions
  • 18. • The message changed because it wasn’t allowed to repeat the message or speak it out loud. • It wasn’t possible for the receiver to ask questions to the sender about words that was not understood. • The message could be stabilized by shortening the chain from the first person to the last person. • The message could be stabilized by sharing the information with everybody at the same time and allowing them to discuss it.
  • 20. Discussing examples helps exploring the domain and identifying edge cases. The discussion leads to new user stories, rules and examples and flesh out gaps and inconsistencies that has to be addressed.
  • 21. Exercise 3: Three Amigos Workshop
  • 22. Exercise 3: Three Amigos Workshop
  • 23. Exercise 3: Three Amigos Workshop • Yellow notes for user stories • Blue notes for acceptance criteria • Green notes for examples • Red notes for open questions
  • 24. Use real life examples as much as possible. Examples beats a list of instructions every single time.
  • 25. Books: by John Ferguson Smart by Gojko Adzic
  • 26. Thank you! Get in touch: @vanilleDK or rikke@reload.dk