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!”
BDD - Collaboration for Continuous Delivery
BDD - Collaboration for Continuous Delivery
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?
BDD - Collaboration for Continuous Delivery
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

PPTX
BDD - Collaboration & Hands-on practices
PPTX
Agile for CIOs
PDF
Can you work agile in a waterfall organisation? Wagile
PDF
Rasa Developer Summit - Tom Bocklisch, Rasa - Product Updates from Rasa
KEY
Getting Comfortable with BDD
PDF
Artem Bykovets: Agile Leader is coming to the pub Team, what to start from?
PDF
TDD and BDD in Sky Deutschland
PPTX
Agile software development
BDD - Collaboration & Hands-on practices
Agile for CIOs
Can you work agile in a waterfall organisation? Wagile
Rasa Developer Summit - Tom Bocklisch, Rasa - Product Updates from Rasa
Getting Comfortable with BDD
Artem Bykovets: Agile Leader is coming to the pub Team, what to start from?
TDD and BDD in Sky Deutschland
Agile software development

What's hot (17)

PDF
Accept paradigm shifts to Accelerate devops
PDF
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
DOCX
We are Webgatians
PDF
Id camp x dicoding live : persiapan jadi software engineer hebat 101
PPTX
Code Quality for a Fresh Start
PPTX
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
ODP
Agile in Distribution
PPTX
Agile Fixed Price - XP Days 2015
PDF
The State of Conversation Design - Designing for the Conversational Future
PDF
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
PDF
Lean India Summit 2013
PDF
Build the "right" regression suite using Behavior Driven Testing (BDT)
PPTX
How we work
PDF
PPTX
Mini scrum new
PPTX
Pair programming- Mariusz Kozieł
PPTX
Are you writing acceptance test yet?
Accept paradigm shifts to Accelerate devops
LeSS: why broader Product Definition, who is the Real PO and what we are scal...
We are Webgatians
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Code Quality for a Fresh Start
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
Agile in Distribution
Agile Fixed Price - XP Days 2015
The State of Conversation Design - Designing for the Conversational Future
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
Lean India Summit 2013
Build the "right" regression suite using Behavior Driven Testing (BDT)
How we work
Mini scrum new
Pair programming- Mariusz Kozieł
Are you writing acceptance test yet?
Ad

Similar to BDD - Collaboration for Continuous Delivery (20)

PPTX
Topic tdd-and-bdd b4usolution
PDF
Expo qa from user stories to automated acceptance tests with bdd
PDF
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
PPT
Bdd with m spec
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
PPTX
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
PDF
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
PDF
Introduction to TDD and BDD
PDF
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
PPTX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
PDF
BDD in Action - Automated Web Testing with WebDriver and Serenity
PPTX
BDD Short Introduction
PDF
Behavior Driven Development—A Guide to Agile Practices
PPTX
Gateway to Agile: XP and BDD
PDF
BDD in Action: Building Software Right and Building the Right Software
PPTX
QA team transition to agile testing at Alcatel Lucent
PPTX
Kick-Starting BDD for Your Organization
PPTX
Behavior Driven Development
PDF
BDD Anti-patterns
PDF
BDD in Action - building software that matters
Topic tdd-and-bdd b4usolution
Expo qa from user stories to automated acceptance tests with bdd
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Bdd with m spec
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
Introduction to TDD and BDD
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD Short Introduction
Behavior Driven Development—A Guide to Agile Practices
Gateway to Agile: XP and BDD
BDD in Action: Building Software Right and Building the Right Software
QA team transition to agile testing at Alcatel Lucent
Kick-Starting BDD for Your Organization
Behavior Driven Development
BDD Anti-patterns
BDD in Action - building software that matters
Ad

Recently uploaded (20)

PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
history of c programming in notes for students .pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Download FL Studio Crack Latest version 2025 ?
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
CHAPTER 2 - PM Management and IT Context
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Design an Analysis of Algorithms I-SECS-1021-03
Computer Software and OS of computer science of grade 11.pptx
Reimagine Home Health with the Power of Agentic AI​
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Salesforce Agentforce AI Implementation.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
history of c programming in notes for students .pptx
Design an Analysis of Algorithms II-SECS-1021-03
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Advanced SystemCare Ultimate Crack + Portable (2025)
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Odoo Companies in India – Driving Business Transformation.pdf
Designing Intelligence for the Shop Floor.pdf
Download FL Studio Crack Latest version 2025 ?
WiFi Honeypot Detecscfddssdffsedfseztor.pptx

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!”
  • 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?
  • 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

  • #3: By Jez Humble and David Farley. Agile Delivery.
  • #5: 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.
  • #6: 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
  • #7: 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:
  • #8: 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?