SlideShare a Scribd company logo
1 of 35
© CONCISO GmbH
From Post-It to Test
KanDDDinsky
Berlin, 18.10.2019
1
ConcisoGmbH
excellent Software
 Agile Training
 Agile Teams
 Agile Organisation
AgileAdvisory
 ArchitectureKnow-how
 ArchitectureEngineering
 ArchitectureEvolution
Viable Architecture
 Workshops & Trainings
 Coaching&Consulting
 Valueable Software
PragmaticDevelopment
From Post-Itto Test- KanDDDinsky- Berlin @sventorben/ @anthie44
Coaches
Sven-Torben Janus
Focus
• Agile Design of Software Architectures
• Agile Software Development
• Domain DrivenDesign
• Scalable, Distributed Web Architectures
• Sociotechnical Architectures
Contact
• Twitter: @sventorben
• eMail: sven-torben.janus@conciso.de
• Mobile: +49 15118243020
Andrej Thiele
Focus
• Agile Testing
• Agile Software Development
• Domain DrivenDesign
• Coachfor TDDand Agile Development
• Coachfor Course “Agile Testing for the Whole Team”
Contact
• Twitter: @anthie44
• eMail: andrej.thiele@conciso.de
• Moblie: +49 15117397003
From Post-Itto Test- KanDDDinsky- Berlin 3@sventorben/ @anthie44
EventStorming
From Post-Itto Test- KanDDDinsky- Berlin 4@sventorben/ @anthie44
EventStorming
From Post-Itto Test- KanDDDinsky- Berlin 5
?
Collaborative
Modelling
Approach
No
substitute
for UML
Brings
project
stakeholders
together
Common
understanding
of domain
For technical
and
non-technical
stakeholders
Communication
FUN
@sventorben/ @anthie44
Fly Heights
• Big Picture
• explorecomplexityin anintricatedomain
• projectkick-off
• organisationretrospective
• Process Modeling
• designing processesandservices
• differentdisciplinesandperspectives
business,userexperience, softwaredevelopment
• Software / Feature Modeling
• fine-graineddiscussions
• softwarestructure
From Post-Itto Test- KanDDDinsky- Berlin 6@sventorben/ @anthie44
Eventstorming(Preparation)
From Post-Itto Test- KanDDDinsky- Berlin 7
Hack the
space
Allocate the
walls
Prepare
markers and
Post-Its
Prepare a
visible legend
@sventorben/ @anthie44
ModelingSummary
From Post-Itto Test- KanDDDinsky- Berlin 8
Command
Policy
Aggregate
External System
Domain
Event
Read Model
User
image: Freepik.com
@sventorben/ @anthie44
Events
From Post-Itto Test- KanDDDinsky- Berlin 9
Domain
Event
Verbin past
tense
Relevant for the
domain experts
Fine grained
Triggers system
reaction
@sventorben/ @anthie44
Command
From Post-Itto Test- KanDDDinsky- Berlin 10
Command
Imperative
Result of user decision
Action
@sventorben/ @anthie44
Aggregate
From Post-Itto Test- KanDDDinsky- Berlin 11
Aggregate
Components of the
system
Postpone Naming
Often likestate
machines
@sventorben/ @anthie44
ExternalSystem
From Post-Itto Test- KanDDDinsky- Berlin 12
External System
Black BoxOrganizations
Services Something wehave
no influence to
@sventorben/ @anthie44
Policy
From Post-Itto Test- KanDDDinsky- Berlin 13
Policy
Reactive Logic of the
system
Keyword „Whenever“
@sventorben/ @anthie44
Read Model
From Post-Itto Test- KanDDDinsky- Berlin 14
Read Model
Information
displayed to the
user
Information for
decision making
@sventorben/ @anthie44
Miscellaneous
From Post-Itto Test- KanDDDinsky- Berlin 15
User
Hot Spot
Definition
Shows
scepsis
Shows
incompleteness
Who is acting
For clarification of
concepts
@sventorben/ @anthie44
Choose a Taskfor your EventStorming
• Course Planning for
University
 Choosing one Course
• Event System for Musicians
 Book an event hall
From Post-It to Test - KanDDDinsky - Berlin 16@sventorben / @anthie44
EventStorming
From Post-Itto Test- KanDDDinsky- Berlin 17@sventorben/ @anthie44
Testing
From Post-Itto Test- KanDDDinsky- Berlin 18@sventorben/ @anthie44
Gherkin
From Post-Itto Test- KanDDDinsky- Berlin 19
Domainspecific
language
Photo designed by whatwolf / Freepik
Noneedtogo intodetailsof
implementation
Syntaxtranslatedinto37+
languages(Dialects)
Actsasdocumentationand
automatedtest
@sventorben/ @anthie44
Gherkin keywords
From Post-Itto Test- KanDDDinsky- Berlin 20
Feature: Book anEvent Hall
The musician wants tobook an Event Hall togive a
concert. He has tospecify some outline data like
the size ofthe hall, chairs,size ofthe stage
etc.
Given Dylan Beattie wants togive aconcert on 01.01.2020
Butthe chosen concert hall isalready assigned to him
When he books a concert hall
Then the concert hall is still assigned tohim
Andreminder is shown tohim
@sventorben/ @anthie44
Given somecontext
What is the context of the system?
What precondition must betrue before the action is tested?
Are there any otherconditions which must be fulfilled?
What events have occurred so far?
What data is in the system?
From Post-Itto Test- KanDDDinsky- Berlin 21@sventorben/ @anthie44
When someactioniscarriedout
What will betested?
What input data will betested when theaction occurs?
What business rule will betested?
From Post-Itto Test- KanDDDinsky- Berlin 22@sventorben/ @anthie44
Then observableconsequencesshouldobtain
In response to the action, what is the observable outcome?
What arethe expectedresults?
What is the post-condition (state) oroutput data/events observable by the user?
What actions aretriggered in an external system?
From Post-Itto Test- KanDDDinsky- Berlin 23@sventorben/ @anthie44
Example(1)
From Post-Itto Test- KanDDDinsky- Berlin 24
Givenan unreserved Concert Hall
When the musician reserves the Concert Hallfor 18.10.2019
Thenthe Concert Hallis reserved
And the Concert Hallname and adate are presented
Concert Hall
Reserve
Concert
Hall
Musician
Concert
Hall
reserved
Name
Date
@sventorben/ @anthie44
Example(2)
From Post-Itto Test- KanDDDinsky- Berlin 25
When(ever) the Deposit is payed
And the Date is confirmed
Then the hallwillbe assigned
And the name, musicianand date are presented
Concert Hall
Assign
Concert
Hall
Concert
Hall
assigned
Name
Musician
Date
Deposit
Policy
Deposit
payed
Date
confirmed
@sventorben/ @anthie44
Example(3)
From Post-Itto Test- KanDDDinsky- Berlin 26
Given a deposit is required for bookings greater than 10.000 €
And the booking feeis 10.001€
And the Concert Hall is requested
When(ever)the Date is confirmed
Thenthe Deposit will be requested
And the name,musician andDeposit Amount arepresented
Concert Hall
Assign
Concert
Hall
Concert
Hall
assigned
Name
Musician
Date
Deposit
Policy
< 10000€
>= 10000€
Date
confirmed
Request
Deposit
Deposit
Deposit
requested
Name
Musician
Amount
@sventorben/ @anthie44
Patternsim Event Storming
From Post-Itto Test- KanDDDinsky- Berlin 27
AggregateCommand EventPolicyEvent
External System
@sventorben/ @anthie44
Transfer patternsto Gherkin
From Post-Itto Test- KanDDDinsky- Berlin 28
Aggregate
Policy
Given:
(State based)
Stateofsystem
Givenanunassignedconcert hall
Concert Hall
Deposit
Policy
StateofSystem
Givenadepositis requiredfor
bookingsgreaterthan10.000€
@sventorben/ @anthie44
Transfer patternsto Gherkin
From Post-Itto Test- KanDDDinsky- Berlin 29
Eventsof system
Givenanunassignedconcert hall
Concert
Hall
assigned
Eventsof system
GiventheBookingFee is10.001€
AndConcertHall hasbeen requested
AndDatehasbeen confirmed
Given:
(Event based)
Concert
Hall
requested
Date
confirmed
Event
Event
Event
@sventorben/ @anthie44
Transfer patternsto Gherkin
From Post-Itto Test- KanDDDinsky- Berlin 30
Command
Seler
EventExternal System Policy
Reserve
Concert
Hall
Musician
Whenthemusicianreserves theConcert
Hall
Deposit
payed
Payment Provider Whenever
Whenthedeposithasbeen payed
When:
@sventorben/ @anthie44
Transfer patternsto Gherkin
From Post-Itto Test- KanDDDinsky- Berlin 31
Command External SystemEvent
Concert
Hall
assigned
Then:
Request
Deposit
Payment Provider
ThentheConcertHall will beassigned Thenthedepositwillberequested
@sventorben/ @anthie44
From Post-Itto Test- KanDDDinsky- Berlin 32
Givenan unreserved Concert Hall
When the musician reserves it to date 24.09.2019
Thenthe Concert Hallis reserved
And the Concert Hallname and adate are presented
Concert HallReserve
Seler
Concert
Hall
reserved
Name
Date
@sventorben/ @anthie44
From Post-Itto Test- KanDDDinsky- Berlin 33
TestTestTestTestTest
@sventorben/ @anthie44
Q&A(now or later during coffee break … we are around)
From Post-Itto Test- KanDDDinsky- Berlin 34@sventorben/ @anthie44
References
• Eric Evans: Domain-Driven Design: Tackling Complexity in the Heartof Software, Addison Wesley, 2003
• Event Storming Web-Page:https://www.eventstorming.com/resources/
• Alberto Brandolini: Introducing EventStorming - An act of Deliberate Collective Learning, Leanpub (not completed yet)
• Gherkin Syntax: https://cucumber.io/docs/gherkin/
• Kamil Nicieja: Writing Great Specifications, 2017, Manning
• SebRose, GáspárNagy: The BDD Books: Discovery
• Gojko Adzic: Specification by Example, 2011, Manning
From Post-Itto Test- KanDDDinsky- Berlin 35@sventorben/ @anthie44

More Related Content

Recently uploaded

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Featured

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 

Featured (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

From PostIt To Test

  • 1. © CONCISO GmbH From Post-It to Test KanDDDinsky Berlin, 18.10.2019 1
  • 2. ConcisoGmbH excellent Software  Agile Training  Agile Teams  Agile Organisation AgileAdvisory  ArchitectureKnow-how  ArchitectureEngineering  ArchitectureEvolution Viable Architecture  Workshops & Trainings  Coaching&Consulting  Valueable Software PragmaticDevelopment From Post-Itto Test- KanDDDinsky- Berlin @sventorben/ @anthie44
  • 3. Coaches Sven-Torben Janus Focus • Agile Design of Software Architectures • Agile Software Development • Domain DrivenDesign • Scalable, Distributed Web Architectures • Sociotechnical Architectures Contact • Twitter: @sventorben • eMail: sven-torben.janus@conciso.de • Mobile: +49 15118243020 Andrej Thiele Focus • Agile Testing • Agile Software Development • Domain DrivenDesign • Coachfor TDDand Agile Development • Coachfor Course “Agile Testing for the Whole Team” Contact • Twitter: @anthie44 • eMail: andrej.thiele@conciso.de • Moblie: +49 15117397003 From Post-Itto Test- KanDDDinsky- Berlin 3@sventorben/ @anthie44
  • 4. EventStorming From Post-Itto Test- KanDDDinsky- Berlin 4@sventorben/ @anthie44
  • 5. EventStorming From Post-Itto Test- KanDDDinsky- Berlin 5 ? Collaborative Modelling Approach No substitute for UML Brings project stakeholders together Common understanding of domain For technical and non-technical stakeholders Communication FUN @sventorben/ @anthie44
  • 6. Fly Heights • Big Picture • explorecomplexityin anintricatedomain • projectkick-off • organisationretrospective • Process Modeling • designing processesandservices • differentdisciplinesandperspectives business,userexperience, softwaredevelopment • Software / Feature Modeling • fine-graineddiscussions • softwarestructure From Post-Itto Test- KanDDDinsky- Berlin 6@sventorben/ @anthie44
  • 7. Eventstorming(Preparation) From Post-Itto Test- KanDDDinsky- Berlin 7 Hack the space Allocate the walls Prepare markers and Post-Its Prepare a visible legend @sventorben/ @anthie44
  • 8. ModelingSummary From Post-Itto Test- KanDDDinsky- Berlin 8 Command Policy Aggregate External System Domain Event Read Model User image: Freepik.com @sventorben/ @anthie44
  • 9. Events From Post-Itto Test- KanDDDinsky- Berlin 9 Domain Event Verbin past tense Relevant for the domain experts Fine grained Triggers system reaction @sventorben/ @anthie44
  • 10. Command From Post-Itto Test- KanDDDinsky- Berlin 10 Command Imperative Result of user decision Action @sventorben/ @anthie44
  • 11. Aggregate From Post-Itto Test- KanDDDinsky- Berlin 11 Aggregate Components of the system Postpone Naming Often likestate machines @sventorben/ @anthie44
  • 12. ExternalSystem From Post-Itto Test- KanDDDinsky- Berlin 12 External System Black BoxOrganizations Services Something wehave no influence to @sventorben/ @anthie44
  • 13. Policy From Post-Itto Test- KanDDDinsky- Berlin 13 Policy Reactive Logic of the system Keyword „Whenever“ @sventorben/ @anthie44
  • 14. Read Model From Post-Itto Test- KanDDDinsky- Berlin 14 Read Model Information displayed to the user Information for decision making @sventorben/ @anthie44
  • 15. Miscellaneous From Post-Itto Test- KanDDDinsky- Berlin 15 User Hot Spot Definition Shows scepsis Shows incompleteness Who is acting For clarification of concepts @sventorben/ @anthie44
  • 16. Choose a Taskfor your EventStorming • Course Planning for University  Choosing one Course • Event System for Musicians  Book an event hall From Post-It to Test - KanDDDinsky - Berlin 16@sventorben / @anthie44
  • 17. EventStorming From Post-Itto Test- KanDDDinsky- Berlin 17@sventorben/ @anthie44
  • 18. Testing From Post-Itto Test- KanDDDinsky- Berlin 18@sventorben/ @anthie44
  • 19. Gherkin From Post-Itto Test- KanDDDinsky- Berlin 19 Domainspecific language Photo designed by whatwolf / Freepik Noneedtogo intodetailsof implementation Syntaxtranslatedinto37+ languages(Dialects) Actsasdocumentationand automatedtest @sventorben/ @anthie44
  • 20. Gherkin keywords From Post-Itto Test- KanDDDinsky- Berlin 20 Feature: Book anEvent Hall The musician wants tobook an Event Hall togive a concert. He has tospecify some outline data like the size ofthe hall, chairs,size ofthe stage etc. Given Dylan Beattie wants togive aconcert on 01.01.2020 Butthe chosen concert hall isalready assigned to him When he books a concert hall Then the concert hall is still assigned tohim Andreminder is shown tohim @sventorben/ @anthie44
  • 21. Given somecontext What is the context of the system? What precondition must betrue before the action is tested? Are there any otherconditions which must be fulfilled? What events have occurred so far? What data is in the system? From Post-Itto Test- KanDDDinsky- Berlin 21@sventorben/ @anthie44
  • 22. When someactioniscarriedout What will betested? What input data will betested when theaction occurs? What business rule will betested? From Post-Itto Test- KanDDDinsky- Berlin 22@sventorben/ @anthie44
  • 23. Then observableconsequencesshouldobtain In response to the action, what is the observable outcome? What arethe expectedresults? What is the post-condition (state) oroutput data/events observable by the user? What actions aretriggered in an external system? From Post-Itto Test- KanDDDinsky- Berlin 23@sventorben/ @anthie44
  • 24. Example(1) From Post-Itto Test- KanDDDinsky- Berlin 24 Givenan unreserved Concert Hall When the musician reserves the Concert Hallfor 18.10.2019 Thenthe Concert Hallis reserved And the Concert Hallname and adate are presented Concert Hall Reserve Concert Hall Musician Concert Hall reserved Name Date @sventorben/ @anthie44
  • 25. Example(2) From Post-Itto Test- KanDDDinsky- Berlin 25 When(ever) the Deposit is payed And the Date is confirmed Then the hallwillbe assigned And the name, musicianand date are presented Concert Hall Assign Concert Hall Concert Hall assigned Name Musician Date Deposit Policy Deposit payed Date confirmed @sventorben/ @anthie44
  • 26. Example(3) From Post-Itto Test- KanDDDinsky- Berlin 26 Given a deposit is required for bookings greater than 10.000 € And the booking feeis 10.001€ And the Concert Hall is requested When(ever)the Date is confirmed Thenthe Deposit will be requested And the name,musician andDeposit Amount arepresented Concert Hall Assign Concert Hall Concert Hall assigned Name Musician Date Deposit Policy < 10000€ >= 10000€ Date confirmed Request Deposit Deposit Deposit requested Name Musician Amount @sventorben/ @anthie44
  • 27. Patternsim Event Storming From Post-Itto Test- KanDDDinsky- Berlin 27 AggregateCommand EventPolicyEvent External System @sventorben/ @anthie44
  • 28. Transfer patternsto Gherkin From Post-Itto Test- KanDDDinsky- Berlin 28 Aggregate Policy Given: (State based) Stateofsystem Givenanunassignedconcert hall Concert Hall Deposit Policy StateofSystem Givenadepositis requiredfor bookingsgreaterthan10.000€ @sventorben/ @anthie44
  • 29. Transfer patternsto Gherkin From Post-Itto Test- KanDDDinsky- Berlin 29 Eventsof system Givenanunassignedconcert hall Concert Hall assigned Eventsof system GiventheBookingFee is10.001€ AndConcertHall hasbeen requested AndDatehasbeen confirmed Given: (Event based) Concert Hall requested Date confirmed Event Event Event @sventorben/ @anthie44
  • 30. Transfer patternsto Gherkin From Post-Itto Test- KanDDDinsky- Berlin 30 Command Seler EventExternal System Policy Reserve Concert Hall Musician Whenthemusicianreserves theConcert Hall Deposit payed Payment Provider Whenever Whenthedeposithasbeen payed When: @sventorben/ @anthie44
  • 31. Transfer patternsto Gherkin From Post-Itto Test- KanDDDinsky- Berlin 31 Command External SystemEvent Concert Hall assigned Then: Request Deposit Payment Provider ThentheConcertHall will beassigned Thenthedepositwillberequested @sventorben/ @anthie44
  • 32. From Post-Itto Test- KanDDDinsky- Berlin 32 Givenan unreserved Concert Hall When the musician reserves it to date 24.09.2019 Thenthe Concert Hallis reserved And the Concert Hallname and adate are presented Concert HallReserve Seler Concert Hall reserved Name Date @sventorben/ @anthie44
  • 33. From Post-Itto Test- KanDDDinsky- Berlin 33 TestTestTestTestTest @sventorben/ @anthie44
  • 34. Q&A(now or later during coffee break … we are around) From Post-Itto Test- KanDDDinsky- Berlin 34@sventorben/ @anthie44
  • 35. References • Eric Evans: Domain-Driven Design: Tackling Complexity in the Heartof Software, Addison Wesley, 2003 • Event Storming Web-Page:https://www.eventstorming.com/resources/ • Alberto Brandolini: Introducing EventStorming - An act of Deliberate Collective Learning, Leanpub (not completed yet) • Gherkin Syntax: https://cucumber.io/docs/gherkin/ • Kamil Nicieja: Writing Great Specifications, 2017, Manning • SebRose, GáspárNagy: The BDD Books: Discovery • Gojko Adzic: Specification by Example, 2011, Manning From Post-Itto Test- KanDDDinsky- Berlin 35@sventorben/ @anthie44