SlideShare a Scribd company logo
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
➜ Because we have to deliver
‘software that matters’ – Agile
Manifesto
➜Because BDD “describes a
cycle of interactions with well-
defined outputs, resulting in
the delivery of working, tested
software that matters”.
Why do we need to focus on software
behaviour
➜ Ubiquitous Language or DSL
➜ Focus on business value
➜ Living Documentation
➜ Specifying By Example
How does BDD come to the picture?
In order to _________ As a __________ I want ___________
“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
http://cherryframe.work
BDD Dashboard
MagenTys toolset for Less boilerplate code, More meaningful reporting
- Collaboration, Collaboration, Collaboration
- Drive your tests using Specifications, don’t
automate after
- Use Cucumber/Jbehave etc. when it’s
meaningful for your project.
- Fluent APIs can help you apply BDD
- It’s all about continuous quality-focused
delivery of software that matters
The message is…
Thanks!
You can find me at:
@mamalisk
http://kostasmamalis.com
http://magentys.io/blogs/
BDD - Collaboration for Continuous Delivery

More Related Content

What's hot

Accept paradigm shifts to Accelerate devops
Accept paradigm shifts to Accelerate devopsAccept paradigm shifts to Accelerate devops
Accept paradigm shifts to Accelerate devops
Habeeb Rahman
 
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
LeSS: why broader Product Definition, who is the Real PO and what we are scal...LeSS: why broader Product Definition, who is the Real PO and what we are scal...
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
Artem Bykovets
 
We are Webgatians
We are WebgatiansWe are Webgatians
We are Webgatians
Webgat Solutions
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101
DicodingEvent
 
Code Quality for a Fresh Start
Code Quality for a Fresh StartCode Quality for a Fresh Start
Code Quality for a Fresh Start
Kosala Nuwan Perera
 
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013   corneliu rimboiu - bridging java and .netIasi code camp 12 october 2013   corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
Codecamp Romania
 
Agile in Distribution
Agile in DistributionAgile in Distribution
Agile in Distribution
cleverpig
 
Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015
Giulio Roggero
 
The State of Conversation Design - Designing for the Conversational Future
The State of Conversation Design - Designing for the Conversational FutureThe State of Conversation Design - Designing for the Conversational Future
The State of Conversation Design - Designing for the Conversational Future
Rasa Technologies
 
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
 
Lean India Summit 2013
Lean India Summit 2013Lean India Summit 2013
Lean India Summit 2013
Dyaneshwaran Periyasamy
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar
 
How we work
How we workHow we work
How we work
Ryanne Goodman
 
Enhancing erp
Enhancing erpEnhancing erp
Mini scrum new
Mini scrum newMini scrum new
Mini scrum new
Jen-Chieh Ko
 
Pair programming- Mariusz Kozieł
Pair programming- Mariusz KoziełPair programming- Mariusz Kozieł
Pair programming- Mariusz Kozieł
Visuality
 
Are you writing acceptance test yet?
Are you writing acceptance test yet?Are you writing acceptance test yet?
Are you writing acceptance test yet?
Ravi Okade
 

What's hot (17)

Accept paradigm shifts to Accelerate devops
Accept paradigm shifts to Accelerate devopsAccept paradigm shifts to Accelerate devops
Accept paradigm shifts to Accelerate devops
 
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
LeSS: why broader Product Definition, who is the Real PO and what we are scal...LeSS: why broader Product Definition, who is the Real PO and what we are scal...
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
 
We are Webgatians
We are WebgatiansWe are Webgatians
We are Webgatians
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101
 
Code Quality for a Fresh Start
Code Quality for a Fresh StartCode Quality for a Fresh Start
Code Quality for a Fresh Start
 
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013   corneliu rimboiu - bridging java and .netIasi code camp 12 october 2013   corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
 
Agile in Distribution
Agile in DistributionAgile in Distribution
Agile in Distribution
 
Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015
 
The State of Conversation Design - Designing for the Conversational Future
The State of Conversation Design - Designing for the Conversational FutureThe State of Conversation Design - Designing for the Conversational Future
The State of Conversation Design - Designing for the Conversational Future
 
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 ...
 
Lean India Summit 2013
Lean India Summit 2013Lean India Summit 2013
Lean India Summit 2013
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
 
How we work
How we workHow we work
How we work
 
Enhancing erp
Enhancing erpEnhancing erp
Enhancing erp
 
Mini scrum new
Mini scrum newMini scrum new
Mini scrum new
 
Pair programming- Mariusz Kozieł
Pair programming- Mariusz KoziełPair programming- Mariusz Kozieł
Pair programming- Mariusz Kozieł
 
Are you writing acceptance test yet?
Are you writing acceptance test yet?Are you writing acceptance test yet?
Are you writing acceptance test yet?
 

Similar to BDD - Collaboration for Continuous Delivery

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
Pankaj Nakhat
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
Gervais Johnson, Advisor
 
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
Steve Mercier
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
temebele
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
DevOpsDaysJKT
 
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
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Jwooldridge
 
Six Steps to Conversation Driven Development
Six Steps to Conversation Driven DevelopmentSix Steps to Conversation Driven Development
Six Steps to Conversation Driven Development
Rasa Technologies
 
“One man” development process model
“One man” development process model“One man” development process model
“One man” development process model
Silicon Straits
 
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
Davinci software
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
Gary Pedretti
 
Consulting
ConsultingConsulting
Consulting
Markus Voelter
 
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
Xebia India
 
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
QA or the Highway
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Synerzip
 
Moving to tdd bdd
Moving to tdd bddMoving to tdd bdd
Moving to tdd bdd
Kim Carter
 
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
 
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
Sakthivel Madesh
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 
Timeless TechComm Tips - STC New England Interchange Keynote 2020
Timeless TechComm Tips - STC New England Interchange Keynote 2020Timeless TechComm Tips - STC New England Interchange Keynote 2020
Timeless TechComm Tips - STC New England Interchange Keynote 2020
Ed Marsh
 

Similar to BDD - Collaboration for Continuous Delivery (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
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd Practiced agile developer with tdd & bdd
Practiced agile developer with tdd & bdd
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
 
Six Steps to Conversation Driven Development
Six Steps to Conversation Driven DevelopmentSix Steps to Conversation Driven Development
Six Steps to Conversation Driven Development
 
“One man” development process model
“One man” development process model“One man” development process model
“One man” development process model
 
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
 
Consulting
ConsultingConsulting
Consulting
 
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
 
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
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
 
Moving to tdd bdd
Moving to tdd bddMoving to tdd bdd
Moving to tdd bdd
 
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...
 
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
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Timeless TechComm Tips - STC New England Interchange Keynote 2020
Timeless TechComm Tips - STC New England Interchange Keynote 2020Timeless TechComm Tips - STC New England Interchange Keynote 2020
Timeless TechComm Tips - STC New England Interchange Keynote 2020
 

Recently uploaded

SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
AnkitaPandya11
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
NishanthaBulumulla1
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 

Recently uploaded (20)

SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 

BDD - Collaboration for Continuous Delivery

  • 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. ➜ Because we have to deliver ‘software that matters’ – Agile Manifesto ➜Because BDD “describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters”. Why do we need to focus on software behaviour
  • 4. ➜ Ubiquitous Language or DSL ➜ Focus on business value ➜ Living Documentation ➜ Specifying By Example How does BDD come to the picture?
  • 5. In order to _________ As a __________ I want ___________
  • 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. BDD Dashboard MagenTys toolset for Less boilerplate code, More meaningful reporting
  • 24. - Collaboration, Collaboration, Collaboration - Drive your tests using Specifications, don’t automate after - Use Cucumber/Jbehave etc. when it’s meaningful for your project. - Fluent APIs can help you apply BDD - It’s all about continuous quality-focused delivery of software that matters The message is…
  • 25. Thanks! You can find me at: @mamalisk http://kostasmamalis.com http://magentys.io/blogs/

Editor's Notes

  1. By Jez Humble and David Farley. Agile Delivery.
  2. Every domain comes with its own jargon. And let’s be honest. When we first arrive in a new company with a completely new for us domain, banking, e-commerce retail, we hear all these terms floating around, we try to find glossaries to give us humble developers an insight with regards to what people mean when they say this or that, and quite often we realise that some terms are convoluted and overloaded or misused. It’s quite important to establish a Ubiquitous Language tailored to our Domain, so a DSL.
  3. And we arrive at User Stories. How many people have been involved in writing user stories. I’ve seen this sort of structure but it misses one important element. When something happens, I want this to happen, so I can to that, buy something with a discount etc. etc. (When, What and Why). It also focuses too much on the test case rather than the business value. In order to deliver this value, this feature which is pretty cool and useful to the end user, As a particular user, or role (frequent user etc.) I want this. One
  4. 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:
  5. Agile teams have to be the loudest teams on the floor. Do you agree with this statement? Nothing replaces face to face, immediate direct human interactions. If it’s not possible, alright skype them, instance messaging, use slack. Constant collaboration. Actually this is the prevailing message of BDD. Collaborate as much as you can so that you can be 100% sure that you delivery the right software the right way. As opposed to Automation, Automation, Automation. Automation is a by-product of this process. Collaboration is the pivotal concept here. How often should we collaborate then?