SlideShare a Scribd company logo
1 of 24
BDD – Collaboration &
Hands-on practices
Kostas Mamalis
Principal Engineer – MagenTys
“The most important problem that we face as software
professionals is this: If somebody thinks of a good idea,
how do we deliver it to users as quickly as possible?”
- “Continuous Delivery” book
➜ Ubiquitous Language
➜ Focus on business value
➜ Living Documentation
➜ Specifying By Example
How does BDD come to the picture?
➜ Because we have to deliver
‘software that matters’ – Agile
Manifesto
Why do we need to focus on software
behaviour
“Here’s the water you’ve asked for, sir!”
The Power of the 3 voices
The Voice of
the Solution
The Voice of
Quality
The Client’s
Voice
It’s all about:…
And Scenarios of course!
Who writes the Scenarios and When?
A few tips & ideas
Definition of Ready & Definition of Done
- Definition of Ready
- Definition of Done
- 2 parallel boards
Acceptance Criteria & Example Mapping
- Acceptance Criteria – how are they related to
Scenarios?
- Example Mapping
- How about Non Functional Requirements/Criteria?
- Automation is not always the outcome of a
Specification session
- Team Rotation?
Roles
- Do we need Developers in Test?
- We are all developers 
- Testers you are still needed!!!
• What happens when business are
not as involved into your processes?
• Product Owner/Business Analysts
are a catalyst to the BDD process
• Unit & Integration Tests, then
Acceptance
Business Involvement + Test-First Maturity
Test Pyramid (no Ice-Cream cones please!)
- BDD describes behaviour
- BDD doesn’t need UI
- BDD doesn’t restrict on one layer of your
system
- You can do BDD with xUnit frameworks
- Unit + Service tests with Test Doubles
- Drive majority of tests from API
- How about SPAs?
I’m a full-stack developer, can I do BDD?
“Given, Given, And, Then, When, Then…”
How about Fluent APIs then?
What if Gherkin language gets in the way?
MISSION PATTERN
A pattern for Fluent
APIs:
http://magentys.io/blogs
Place your screenshot here
https://dzone.com/articles/mission-pattern-a-means-to-modularise-automation-c
CHERRY FRAMEWORK
http://cherryframe.work
Thanks!
You can find me at:
@mamalisk
http://kostasmamalis.com
http://magentys.io/blogs/
BDD - Collaboration & Hands-on practices

More Related Content

What's hot

The Smells Of Bad Design
The Smells Of Bad DesignThe Smells Of Bad Design
The Smells Of Bad Designguest446c0
 
Stop throwing money out the window
Stop throwing money out the windowStop throwing money out the window
Stop throwing money out the windowFlavius Stef
 
DrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitableDrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitablePromet Source
 
Using feature teams to deliver high business value
Using feature teams to deliver high business valueUsing feature teams to deliver high business value
Using feature teams to deliver high business valueThoughtworks
 
Enabling CD in Enterprises with Testing - Anand Bagmar
Enabling CD in Enterprises with Testing - Anand BagmarEnabling CD in Enterprises with Testing - Anand Bagmar
Enabling CD in Enterprises with Testing - Anand BagmarThoughtworks
 
User-Centered Design with Pragmatic Personas
User-Centered Design with Pragmatic PersonasUser-Centered Design with Pragmatic Personas
User-Centered Design with Pragmatic PersonasPavel Dabrytski
 
Scaling Agility Primer - Principles of Scaling Agility v.1
Scaling Agility Primer - Principles of Scaling Agility v.1Scaling Agility Primer - Principles of Scaling Agility v.1
Scaling Agility Primer - Principles of Scaling Agility v.1Priyank Pathak
 
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...DicodingEvent
 
Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Next Generation Testing Conference, Pune - The faster smarter and reliable le...Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Next Generation Testing Conference, Pune - The faster smarter and reliable le...Sandeep Mankar
 
DevOps make teamwork great.
DevOps make teamwork great.DevOps make teamwork great.
DevOps make teamwork great.keithmin
 
Agile Network India | Impact of Gamification on Agile World | Suvrajith Sarkar
Agile Network India | Impact of Gamification on Agile World | Suvrajith SarkarAgile Network India | Impact of Gamification on Agile World | Suvrajith Sarkar
Agile Network India | Impact of Gamification on Agile World | Suvrajith SarkarAgileNetwork
 
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...Agile Lietuva
 
Tetap Agile dengan Arsitektur Monolith - Ziya El Arief
Tetap Agile dengan Arsitektur Monolith - Ziya El AriefTetap Agile dengan Arsitektur Monolith - Ziya El Arief
Tetap Agile dengan Arsitektur Monolith - Ziya El AriefDicodingEvent
 
Transition to feature teams - Gil Wasserman - Agile Israel 2013
Transition to feature teams - Gil Wasserman - Agile Israel 2013Transition to feature teams - Gil Wasserman - Agile Israel 2013
Transition to feature teams - Gil Wasserman - Agile Israel 2013AgileSparks
 
Driving better requirements through DevOps
Driving better requirements through DevOpsDriving better requirements through DevOps
Driving better requirements through DevOpsNavvia
 
Rapid Product Development
Rapid Product DevelopmentRapid Product Development
Rapid Product DevelopmentZachary Beer
 
Agile Network India | Be Customer Centric with Test First Development | Mamat...
Agile Network India | Be Customer Centric with Test First Development | Mamat...Agile Network India | Be Customer Centric with Test First Development | Mamat...
Agile Network India | Be Customer Centric with Test First Development | Mamat...AgileNetwork
 

What's hot (20)

The Smells Of Bad Design
The Smells Of Bad DesignThe Smells Of Bad Design
The Smells Of Bad Design
 
Why agile?
Why agile?Why agile?
Why agile?
 
Stop throwing money out the window
Stop throwing money out the windowStop throwing money out the window
Stop throwing money out the window
 
Best of scrum and lean startup for product development
Best of scrum and lean startup for product developmentBest of scrum and lean startup for product development
Best of scrum and lean startup for product development
 
DrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitableDrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & Profitable
 
Using feature teams to deliver high business value
Using feature teams to deliver high business valueUsing feature teams to deliver high business value
Using feature teams to deliver high business value
 
Enabling CD in Enterprises with Testing - Anand Bagmar
Enabling CD in Enterprises with Testing - Anand BagmarEnabling CD in Enterprises with Testing - Anand Bagmar
Enabling CD in Enterprises with Testing - Anand Bagmar
 
User-Centered Design with Pragmatic Personas
User-Centered Design with Pragmatic PersonasUser-Centered Design with Pragmatic Personas
User-Centered Design with Pragmatic Personas
 
Scaling Agility Primer - Principles of Scaling Agility v.1
Scaling Agility Primer - Principles of Scaling Agility v.1Scaling Agility Primer - Principles of Scaling Agility v.1
Scaling Agility Primer - Principles of Scaling Agility v.1
 
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
 
Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Next Generation Testing Conference, Pune - The faster smarter and reliable le...Next Generation Testing Conference, Pune - The faster smarter and reliable le...
Next Generation Testing Conference, Pune - The faster smarter and reliable le...
 
DevOps make teamwork great.
DevOps make teamwork great.DevOps make teamwork great.
DevOps make teamwork great.
 
Agile Network India | Impact of Gamification on Agile World | Suvrajith Sarkar
Agile Network India | Impact of Gamification on Agile World | Suvrajith SarkarAgile Network India | Impact of Gamification on Agile World | Suvrajith Sarkar
Agile Network India | Impact of Gamification on Agile World | Suvrajith Sarkar
 
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
Lemi Orhan Ergin - Code Your Agility: Tips for Boosting Technical Agility in ...
 
Tetap Agile dengan Arsitektur Monolith - Ziya El Arief
Tetap Agile dengan Arsitektur Monolith - Ziya El AriefTetap Agile dengan Arsitektur Monolith - Ziya El Arief
Tetap Agile dengan Arsitektur Monolith - Ziya El Arief
 
How we work
How we workHow we work
How we work
 
Transition to feature teams - Gil Wasserman - Agile Israel 2013
Transition to feature teams - Gil Wasserman - Agile Israel 2013Transition to feature teams - Gil Wasserman - Agile Israel 2013
Transition to feature teams - Gil Wasserman - Agile Israel 2013
 
Driving better requirements through DevOps
Driving better requirements through DevOpsDriving better requirements through DevOps
Driving better requirements through DevOps
 
Rapid Product Development
Rapid Product DevelopmentRapid Product Development
Rapid Product Development
 
Agile Network India | Be Customer Centric with Test First Development | Mamat...
Agile Network India | Be Customer Centric with Test First Development | Mamat...Agile Network India | Be Customer Centric with Test First Development | Mamat...
Agile Network India | Be Customer Centric with Test First Development | Mamat...
 

Viewers also liked

Zero to tested
Zero to testedZero to tested
Zero to testedMagenTys
 
Product Vs Craft
Product Vs CraftProduct Vs Craft
Product Vs CraftMagenTys
 
Transforming Legacy In To The New World Of DevOps and PaaS
Transforming Legacy In To The New World Of DevOps and PaaSTransforming Legacy In To The New World Of DevOps and PaaS
Transforming Legacy In To The New World Of DevOps and PaaSMagenTys
 
Culture Before Tools or Does Tooling Foster Culture?
Culture Before Tools or Does Tooling Foster Culture?Culture Before Tools or Does Tooling Foster Culture?
Culture Before Tools or Does Tooling Foster Culture?MagenTys
 
Brilliant People Management in an Agile Setting
Brilliant People Management in an Agile SettingBrilliant People Management in an Agile Setting
Brilliant People Management in an Agile SettingMeri Williams
 
2 speed IT and how to get there
2 speed IT and how to get there2 speed IT and how to get there
2 speed IT and how to get thereMagenTys
 

Viewers also liked (6)

Zero to tested
Zero to testedZero to tested
Zero to tested
 
Product Vs Craft
Product Vs CraftProduct Vs Craft
Product Vs Craft
 
Transforming Legacy In To The New World Of DevOps and PaaS
Transforming Legacy In To The New World Of DevOps and PaaSTransforming Legacy In To The New World Of DevOps and PaaS
Transforming Legacy In To The New World Of DevOps and PaaS
 
Culture Before Tools or Does Tooling Foster Culture?
Culture Before Tools or Does Tooling Foster Culture?Culture Before Tools or Does Tooling Foster Culture?
Culture Before Tools or Does Tooling Foster Culture?
 
Brilliant People Management in an Agile Setting
Brilliant People Management in an Agile SettingBrilliant People Management in an Agile Setting
Brilliant People Management in an Agile Setting
 
2 speed IT and how to get there
2 speed IT and how to get there2 speed IT and how to get there
2 speed IT and how to get there
 

Similar to BDD - Collaboration & Hands-on practices

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
 
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 2015Steve Mercier
 
BDD presentation
BDD presentationBDD presentation
BDD presentationtemebele
 
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentDavinci software
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product DevelopmentGary Pedretti
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
 
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 EastmanQA or the Highway
 
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 eventXebia India
 
“One man” development process model
“One man” development process model“One man” development process model
“One man” development process modelSilicon Straits
 
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...Agile Testing Alliance
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011TEST Huddle
 
When to Code / Config / Config + Code in Salesforce - Nikunj Doshi
When to Code / Config / Config + Code in Salesforce - Nikunj DoshiWhen to Code / Config / Config + Code in Salesforce - Nikunj Doshi
When to Code / Config / Config + Code in Salesforce - Nikunj DoshiSakthivel Madesh
 
Moving to tdd bdd
Moving to tdd bddMoving to tdd bdd
Moving to tdd bddKim Carter
 
Planning Your CAD Future – Robert Green, Robert Green Consulting Group
Planning Your CAD Future – Robert Green, Robert Green Consulting GroupPlanning Your CAD Future – Robert Green, Robert Green Consulting Group
Planning Your CAD Future – Robert Green, Robert Green Consulting GroupSynergis Engineering Design Solutions
 
The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010scrummasternz
 
Agile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches SlidesAgile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches Slidesguesta1c5d7
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 

Similar to BDD - Collaboration & Hands-on practices (20)

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
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
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
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software Development
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
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
 
20100223 bpmn
20100223 bpmn20100223 bpmn
20100223 bpmn
 
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
 
“One man” development process model
“One man” development process model“One man” development process model
“One man” development process model
 
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...
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
 
When to Code / Config / Config + Code in Salesforce - Nikunj Doshi
When to Code / Config / Config + Code in Salesforce - Nikunj DoshiWhen to Code / Config / Config + Code in Salesforce - Nikunj Doshi
When to Code / Config / Config + Code in Salesforce - Nikunj Doshi
 
Tec314f
Tec314fTec314f
Tec314f
 
Moving to tdd bdd
Moving to tdd bddMoving to tdd bdd
Moving to tdd bdd
 
Planning Your CAD Future – Robert Green, Robert Green Consulting Group
Planning Your CAD Future – Robert Green, Robert Green Consulting GroupPlanning Your CAD Future – Robert Green, Robert Green Consulting Group
Planning Your CAD Future – Robert Green, Robert Green Consulting Group
 
The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010
 
Agile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches SlidesAgile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches Slides
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 

More from MagenTys

How Retail Store Design Enhances Customer Experience
 How Retail Store Design Enhances Customer Experience How Retail Store Design Enhances Customer Experience
How Retail Store Design Enhances Customer ExperienceMagenTys
 
The Blurring Line Between Online and Offline Commerce Experiences
The Blurring Line Between Online and Offline Commerce ExperiencesThe Blurring Line Between Online and Offline Commerce Experiences
The Blurring Line Between Online and Offline Commerce ExperiencesMagenTys
 
Ed Oughton 2015 digital communications for a digital economy
Ed Oughton 2015 digital communications for a digital economyEd Oughton 2015 digital communications for a digital economy
Ed Oughton 2015 digital communications for a digital economyMagenTys
 
Cambridge meetup
Cambridge meetupCambridge meetup
Cambridge meetupMagenTys
 
Bdd masterclass
Bdd masterclassBdd masterclass
Bdd masterclassMagenTys
 
John Muir presentation
John Muir presentationJohn Muir presentation
John Muir presentationMagenTys
 
Alex Sbardella presentation
Alex Sbardella presentationAlex Sbardella presentation
Alex Sbardella presentationMagenTys
 
Craig Smith presentation
Craig Smith presentationCraig Smith presentation
Craig Smith presentationMagenTys
 

More from MagenTys (8)

How Retail Store Design Enhances Customer Experience
 How Retail Store Design Enhances Customer Experience How Retail Store Design Enhances Customer Experience
How Retail Store Design Enhances Customer Experience
 
The Blurring Line Between Online and Offline Commerce Experiences
The Blurring Line Between Online and Offline Commerce ExperiencesThe Blurring Line Between Online and Offline Commerce Experiences
The Blurring Line Between Online and Offline Commerce Experiences
 
Ed Oughton 2015 digital communications for a digital economy
Ed Oughton 2015 digital communications for a digital economyEd Oughton 2015 digital communications for a digital economy
Ed Oughton 2015 digital communications for a digital economy
 
Cambridge meetup
Cambridge meetupCambridge meetup
Cambridge meetup
 
Bdd masterclass
Bdd masterclassBdd masterclass
Bdd masterclass
 
John Muir presentation
John Muir presentationJohn Muir presentation
John Muir presentation
 
Alex Sbardella presentation
Alex Sbardella presentationAlex Sbardella presentation
Alex Sbardella presentation
 
Craig Smith presentation
Craig Smith presentationCraig Smith presentation
Craig Smith presentation
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

BDD - Collaboration & Hands-on practices

  • 1. BDD – Collaboration & Hands-on practices Kostas Mamalis Principal Engineer – MagenTys
  • 2. “The most important problem that we face as software professionals is this: If somebody thinks of a good idea, how do we deliver it to users as quickly as possible?” - “Continuous Delivery” book
  • 3. ➜ Ubiquitous Language ➜ Focus on business value ➜ Living Documentation ➜ Specifying By Example How does BDD come to the picture?
  • 4. ➜ Because we have to deliver ‘software that matters’ – Agile Manifesto Why do we need to focus on software behaviour
  • 5.
  • 6. “Here’s the water you’ve asked for, sir!”
  • 7.
  • 8.
  • 9. The Power of the 3 voices The Voice of the Solution The Voice of Quality The Client’s Voice
  • 10. It’s all about:… And Scenarios of course!
  • 11. Who writes the Scenarios and When?
  • 12.
  • 13. A few tips & ideas
  • 14. Definition of Ready & Definition of Done - Definition of Ready - Definition of Done - 2 parallel boards
  • 15. Acceptance Criteria & Example Mapping - Acceptance Criteria – how are they related to Scenarios? - Example Mapping - How about Non Functional Requirements/Criteria? - Automation is not always the outcome of a Specification session - Team Rotation?
  • 16. Roles - Do we need Developers in Test? - We are all developers  - Testers you are still needed!!!
  • 17. • What happens when business are not as involved into your processes? • Product Owner/Business Analysts are a catalyst to the BDD process • Unit & Integration Tests, then Acceptance Business Involvement + Test-First Maturity
  • 18. Test Pyramid (no Ice-Cream cones please!)
  • 19. - BDD describes behaviour - BDD doesn’t need UI - BDD doesn’t restrict on one layer of your system - You can do BDD with xUnit frameworks - Unit + Service tests with Test Doubles - Drive majority of tests from API - How about SPAs? I’m a full-stack developer, can I do BDD?
  • 20. “Given, Given, And, Then, When, Then…” How about Fluent APIs then? What if Gherkin language gets in the way?
  • 21. MISSION PATTERN A pattern for Fluent APIs: http://magentys.io/blogs Place your screenshot here https://dzone.com/articles/mission-pattern-a-means-to-modularise-automation-c
  • 23. Thanks! You can find me at: @mamalisk http://kostasmamalis.com http://magentys.io/blogs/

Editor's Notes

  1. By Jez Humble and David Farley
  2. At the end of the day we want to deliver exactly what the customer needs. I can bring you water that can quench your thirst, but delivering the water this poor man needs to face the calamity which stroke upon him… well that’s a different matter altogether. How can we avoid these sort of misunderstandings, how can we bridge the communication gap. The prevailing answer that BDD actually advocates is:
  3. At the end of the day we want to deliver exactly what the customer needs. I can bring you water that can quench your thirst, but delivering the water this poor man needs to face the calamity which stroke upon him… well that’s a different matter altogether. How can we avoid these sort of misunderstandings, how can we bridge the communication gap. The prevailing answer that BDD actually advocates is: