SlideShare a Scribd company logo
1 of 53
@gil_zilberfeld
A horror story
@gil_zilberfeld
Hello!
I AM GIL ZILBERFELD
www.gilzilberfeld.com
www.everydayunittesting.com
@gil_zilberfeld
@gil_zilberfeld
What’s the story?
◉ Some theory
◉ Stakeholders
◉ Effective stories
◉ Slicing heuristics
◉ Examples
@gil_zilberfeld
Some theory…
It’s slicing all the way down
@gil_zilberfeld
@gil_zilberfeld
Smaller is better
Why?
@gil_zilberfeld
Testing
◉ Simpler to do the smaller it gets
◉ Easy to focus
◉ Easy to explore
@gil_zilberfeld
Shorter feedback cycles
◉ Ideas
◉ Products
◉ Releases
◉ Features
◉ Stories
@gil_zilberfeld
Ideas
Products
Releases
Features
Stories
MVPs
Small frequent releases
Minimal user journeys
Minimal functionality
Working testable functionality
Slicing down
@gil_zilberfeld
Pyramid slicing
@gil_zilberfeld
@gil_zilberfeld
Testicorn – A killer app
The ghost of the
testing unicorn
that terrorizes the
city of Potsdam
@gil_zilberfeld
@gil_zilberfeld
Stakeholder
“An individual, group, or
organization, who may
affect, be affected by, or
perceive itself to be affected
by a decision, activity, or
outcome of a project.”
@gil_zilberfeld
Stakeholders
◉ Users
◉ Customers
◉ Builders
◉ Regulators
◉ Bystanders
@gil_zilberfeld
Categorizing stakeholders
◉ Roles
◉ Jobs to be done (JTBD)
◉ What’s important for them?
◉ How does the product impact their lives?
@gil_zilberfeld
Who are the stakeholders of Airbnb?
@gil_zilberfeld
Exercise: Testicorn stakeholders
◉ List them
◉ Categorize them
◉ Rate them
@gil_zilberfeld
Let’s review!
@gil_zilberfeld
@gil_zilberfeld
@gil_zilberfeld
Goal
“A goal is a desired
result that a person or a
system envisions, plans
and commits to
achieve.”
@gil_zilberfeld
@gil_zilberfeld
Capability
“An ability to perform or
achieve certain actions or
outcomes through a set of
controllable and measurable
faculties, features, functions,
processes, or services.”
@gil_zilberfeld
Exercise: Stakeholders goals and capabilities
◉ What is important to our stakeholders?
◉ What do they want to achieve?
◉ What options do we have to meet the goals?
◉ Prioritize them
@gil_zilberfeld
Let’s review!
@gil_zilberfeld
Why do we need to slice stories?
@gil_zilberfeld
Questions about stories
◉ Are the stories ready for work?
◉ Do they fit in a sprint?
◉ How complex are they?
◉ What will we learn?
◉ What options do we have for implementation?
◉ Do we need to do a POC?
◉ Does the story have sub-stories?
@gil_zilberfeld
@gil_zilberfeld
Mind Map
“A diagram used to visually
organize information.”
@gil_zilberfeld
Mind maps
◉ A collaborative tool
◉ Usually a tree, but doesn’t have to be
◉ Helps in slicing stories and cases
◉ Helps in prioritizing what we’re going to build and
test
@gil_zilberfeld
Exercise: Slicing stories
◉ Review the story maps
◉ Create a mind map for stories
◉ What are the regular and special cases?
◉ What is the happy path? How do we know we’re
there?
@gil_zilberfeld
SFDIPOT – A slicing heuristic
@gil_zilberfeld
Exercise: Slicing stories
◉ Enhance the mind maps
◉ Think of the others aspects as well
◉ Types of users
◉ Types of complexity
◉ Types of “what ifs”
@gil_zilberfeld
Let’s review!
@gil_zilberfeld
Why do we call them stories anyway?
@gil_zilberfeld
@gil_zilberfeld
The template
As a …
I want a …
In order to …
@gil_zilberfeld
The template
As a killer unicorn
I want to get near a victim
In order to kill it
@gil_zilberfeld
What is the acceptance criteria?
@gil_zilberfeld
Give me an example!
@gil_zilberfeld
The template
As a killer unicorn
I need to be at least 12 steps
from a victim
In order to kill it
@gil_zilberfeld
Good user stories
Independent
Negotiable
Valuable
Estimable
Small
Testable Bill Wake, 2003
@gil_zilberfeld
Good user stories
Independent
Negotiable
Valuable
Estimable
Small
Testable
@gil_zilberfeld
Ron Jeffries said
As an author of the Agile Manifesto
I want that stupid story format to go away
So that people can get to the essence of user
stories
@gil_zilberfeld
“A story is a ticket for a conversation”
@gil_zilberfeld
@gil_zilberfeld
Better user stories
◉ Drop the template
◉ Tell the story in a sentence
◉ Anchor it
◉ Unveil the motive
@gil_zilberfeld
Better user stories
◉ Imagine the demo
◉ Give context
◉ The general rules
◉ Exception to the rules
@gil_zilberfeld
Exercise: Writing stories
◉ Write and present stories
◉ What are the essential parts?
◉ What must work?
◉ What are the fail safes?
@gil_zilberfeld
@gil_zilberfeld
@gil_zilberfeld
Thanks!
ANY QUESTIONS?
You can find me at:
@gil_zilberfeld
http://www.GilZilberfeld.com
http://www.EverydayUnitTesting.com

More Related Content

Viewers also liked

Reinventing software quality
Reinventing software qualityReinventing software quality
Reinventing software qualityAgile Lietuva
 
The BIG Fall (Presentation horror Story)
The BIG Fall (Presentation horror Story)The BIG Fall (Presentation horror Story)
The BIG Fall (Presentation horror Story)Ashley Vinil
 
Cartoon network
Cartoon networkCartoon network
Cartoon networkGretchen T
 
Entity selection for estate planning 101
Entity selection for estate planning 101Entity selection for estate planning 101
Entity selection for estate planning 101Pat Dillon
 
Horror film-production-tips (1)
Horror film-production-tips (1)Horror film-production-tips (1)
Horror film-production-tips (1)Classicfinn
 
Cartoon Network: The Power of Kids Licensing
Cartoon Network: The Power of Kids LicensingCartoon Network: The Power of Kids Licensing
Cartoon Network: The Power of Kids LicensingOleg Ulyansky
 
Cartoon network
Cartoon networkCartoon network
Cartoon networknachamen
 
Horror Genre
Horror GenreHorror Genre
Horror GenreJazBro11
 
Re-branding Cartoon Networks
Re-branding Cartoon NetworksRe-branding Cartoon Networks
Re-branding Cartoon NetworksSuzen Suzenna
 
ALN Houston - "Build Quality In: Guiding Development with Tests"
ALN Houston - "Build Quality In: Guiding Development with Tests"ALN Houston - "Build Quality In: Guiding Development with Tests"
ALN Houston - "Build Quality In: Guiding Development with Tests"lisacrispin
 
Ecology PowerPoint Review Game Quiz, Ecosystems, Predator, Prey, Habitat
Ecology PowerPoint Review Game Quiz, Ecosystems, Predator, Prey, HabitatEcology PowerPoint Review Game Quiz, Ecosystems, Predator, Prey, Habitat
Ecology PowerPoint Review Game Quiz, Ecosystems, Predator, Prey, Habitatwww.sciencepowerpoint.com
 
Its cartoon time : Study On Cartoon Channel
Its cartoon time : Study On Cartoon ChannelIts cartoon time : Study On Cartoon Channel
Its cartoon time : Study On Cartoon ChannelAJITESH PAL SINGH
 
Baby’s brain development and literacy
Baby’s brain development and literacyBaby’s brain development and literacy
Baby’s brain development and literacyEd_doc_Peggy
 
Cartoon network niche in mature market
Cartoon network niche in mature marketCartoon network niche in mature market
Cartoon network niche in mature marketSanskruti Jaiswal
 
Web 2 0/Social Media Presentation V2
Web 2 0/Social Media Presentation V2Web 2 0/Social Media Presentation V2
Web 2 0/Social Media Presentation V2Bernie Borges
 

Viewers also liked (19)

Reinventing software quality
Reinventing software qualityReinventing software quality
Reinventing software quality
 
The BIG Fall (Presentation horror Story)
The BIG Fall (Presentation horror Story)The BIG Fall (Presentation horror Story)
The BIG Fall (Presentation horror Story)
 
Cartoon network
Cartoon networkCartoon network
Cartoon network
 
Entity selection for estate planning 101
Entity selection for estate planning 101Entity selection for estate planning 101
Entity selection for estate planning 101
 
Horror film-production-tips (1)
Horror film-production-tips (1)Horror film-production-tips (1)
Horror film-production-tips (1)
 
Cartoon Network: The Power of Kids Licensing
Cartoon Network: The Power of Kids LicensingCartoon Network: The Power of Kids Licensing
Cartoon Network: The Power of Kids Licensing
 
Powerpuff Girls
Powerpuff GirlsPowerpuff Girls
Powerpuff Girls
 
Cartoon network
Cartoon networkCartoon network
Cartoon network
 
Powerpuffgirls
PowerpuffgirlsPowerpuffgirls
Powerpuffgirls
 
Horror Genre
Horror GenreHorror Genre
Horror Genre
 
Re-branding Cartoon Networks
Re-branding Cartoon NetworksRe-branding Cartoon Networks
Re-branding Cartoon Networks
 
ALN Houston - "Build Quality In: Guiding Development with Tests"
ALN Houston - "Build Quality In: Guiding Development with Tests"ALN Houston - "Build Quality In: Guiding Development with Tests"
ALN Houston - "Build Quality In: Guiding Development with Tests"
 
Ecology PowerPoint Review Game Quiz, Ecosystems, Predator, Prey, Habitat
Ecology PowerPoint Review Game Quiz, Ecosystems, Predator, Prey, HabitatEcology PowerPoint Review Game Quiz, Ecosystems, Predator, Prey, Habitat
Ecology PowerPoint Review Game Quiz, Ecosystems, Predator, Prey, Habitat
 
Its cartoon time : Study On Cartoon Channel
Its cartoon time : Study On Cartoon ChannelIts cartoon time : Study On Cartoon Channel
Its cartoon time : Study On Cartoon Channel
 
Baby’s brain development and literacy
Baby’s brain development and literacyBaby’s brain development and literacy
Baby’s brain development and literacy
 
Cartoon network niche in mature market
Cartoon network niche in mature marketCartoon network niche in mature market
Cartoon network niche in mature market
 
Ecolabel affiche generique-a4
Ecolabel affiche generique-a4Ecolabel affiche generique-a4
Ecolabel affiche generique-a4
 
Web 2 0/Social Media Presentation V2
Web 2 0/Social Media Presentation V2Web 2 0/Social Media Presentation V2
Web 2 0/Social Media Presentation V2
 
Staggered Boards
Staggered BoardsStaggered Boards
Staggered Boards
 

Similar to A Horror Story

The fastest BDD crash-course ever
The fastest BDD crash-course everThe fastest BDD crash-course ever
The fastest BDD crash-course everGil Zilberfeld
 
Interview with the Vampire
Interview with the VampireInterview with the Vampire
Interview with the VampireGil Zilberfeld
 
Better Estimation and Planning
Better Estimation and PlanningBetter Estimation and Planning
Better Estimation and PlanningGil Zilberfeld
 
Better Estimation and Planning
Better Estimation and PlanningBetter Estimation and Planning
Better Estimation and PlanningGil Zilberfeld
 
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen and the art of Test Maintenance - #TestIL Meetup Tel AvivZen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen and the art of Test Maintenance - #TestIL Meetup Tel AvivGil Zilberfeld
 
Zen and the Art of Test Maintenance
Zen and the Art of Test MaintenanceZen and the Art of Test Maintenance
Zen and the Art of Test MaintenanceGil Zilberfeld
 
Planning with #NoEstimates
Planning with #NoEstimatesPlanning with #NoEstimates
Planning with #NoEstimatesGil Zilberfeld
 
Real Life Test Maintenance
Real Life Test MaintenanceReal Life Test Maintenance
Real Life Test MaintenanceGil Zilberfeld
 
Zen And the Art of Test Maintenance Presentation
Zen And the Art of Test Maintenance PresentationZen And the Art of Test Maintenance Presentation
Zen And the Art of Test Maintenance PresentationGil Zilberfeld
 
To Estimate or #NoEstimate
To Estimate or #NoEstimateTo Estimate or #NoEstimate
To Estimate or #NoEstimateGil Zilberfeld
 
The Empire Tests First
The Empire Tests FirstThe Empire Tests First
The Empire Tests FirstGil Zilberfeld
 
Continuous Learning - The New ALM
Continuous Learning - The New ALMContinuous Learning - The New ALM
Continuous Learning - The New ALMGil Zilberfeld
 
Unit testing the prequel
Unit testing   the prequelUnit testing   the prequel
Unit testing the prequelGil Zilberfeld
 
Rebooting Application Life Cycle Management
Rebooting Application Life Cycle ManagementRebooting Application Life Cycle Management
Rebooting Application Life Cycle ManagementGil Zilberfeld
 

Similar to A Horror Story (20)

The fastest BDD crash-course ever
The fastest BDD crash-course everThe fastest BDD crash-course ever
The fastest BDD crash-course ever
 
The Untold User Story
The Untold User StoryThe Untold User Story
The Untold User Story
 
Interview with the Vampire
Interview with the VampireInterview with the Vampire
Interview with the Vampire
 
Better Estimation and Planning
Better Estimation and PlanningBetter Estimation and Planning
Better Estimation and Planning
 
Better Estimation and Planning
Better Estimation and PlanningBetter Estimation and Planning
Better Estimation and Planning
 
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen and the art of Test Maintenance - #TestIL Meetup Tel AvivZen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
 
Zen and the Art of Test Maintenance
Zen and the Art of Test MaintenanceZen and the Art of Test Maintenance
Zen and the Art of Test Maintenance
 
Planning with #NoEstimates
Planning with #NoEstimatesPlanning with #NoEstimates
Planning with #NoEstimates
 
Fractal test planning
Fractal test planningFractal test planning
Fractal test planning
 
Real Life Test Maintenance
Real Life Test MaintenanceReal Life Test Maintenance
Real Life Test Maintenance
 
Zen And the Art of Test Maintenance Presentation
Zen And the Art of Test Maintenance PresentationZen And the Art of Test Maintenance Presentation
Zen And the Art of Test Maintenance Presentation
 
To Estimate or #NoEstimate
To Estimate or #NoEstimateTo Estimate or #NoEstimate
To Estimate or #NoEstimate
 
Introduction to BDD
Introduction to BDDIntroduction to BDD
Introduction to BDD
 
The Empire Tests First
The Empire Tests FirstThe Empire Tests First
The Empire Tests First
 
ROI is Dead!
ROI is Dead!ROI is Dead!
ROI is Dead!
 
Continuous Learning - The New ALM
Continuous Learning - The New ALMContinuous Learning - The New ALM
Continuous Learning - The New ALM
 
TDD patterns
TDD patternsTDD patterns
TDD patterns
 
Unit testing the prequel
Unit testing   the prequelUnit testing   the prequel
Unit testing the prequel
 
Rebooting Application Life Cycle Management
Rebooting Application Life Cycle ManagementRebooting Application Life Cycle Management
Rebooting Application Life Cycle Management
 
Testing economics101
Testing economics101Testing economics101
Testing economics101
 

More from Gil Zilberfeld

Dirty tests and How To Clean Them
Dirty tests and How To Clean ThemDirty tests and How To Clean Them
Dirty tests and How To Clean ThemGil Zilberfeld
 
Unit testing for Grown-ups
Unit testing for Grown-upsUnit testing for Grown-ups
Unit testing for Grown-upsGil Zilberfeld
 
Spock: It's Only Logical
Spock: It's Only LogicalSpock: It's Only Logical
Spock: It's Only LogicalGil Zilberfeld
 
Dependency injection and Why It Matters to Testers
Dependency injection and Why It Matters to TestersDependency injection and Why It Matters to Testers
Dependency injection and Why It Matters to TestersGil Zilberfeld
 
Spring Testing Features
Spring Testing FeaturesSpring Testing Features
Spring Testing FeaturesGil Zilberfeld
 
Beter code for better tests
Beter code for better testsBeter code for better tests
Beter code for better testsGil Zilberfeld
 
Playing games remotely
Playing games remotelyPlaying games remotely
Playing games remotelyGil Zilberfeld
 
An agile introduction to DevOps
An agile introduction to DevOpsAn agile introduction to DevOps
An agile introduction to DevOpsGil Zilberfeld
 
Why TDD is Important for Everyone
Why TDD is Important for EveryoneWhy TDD is Important for Everyone
Why TDD is Important for EveryoneGil Zilberfeld
 
Creating A Unit Testing Strategy
Creating A Unit Testing StrategyCreating A Unit Testing Strategy
Creating A Unit Testing StrategyGil Zilberfeld
 
Introduction to Unit Testing
Introduction to Unit TestingIntroduction to Unit Testing
Introduction to Unit TestingGil Zilberfeld
 
TDD for the rest of us
TDD for the rest of usTDD for the rest of us
TDD for the rest of usGil Zilberfeld
 
What is wrong with agile
What is wrong with agileWhat is wrong with agile
What is wrong with agileGil Zilberfeld
 

More from Gil Zilberfeld (16)

Dirty tests and How To Clean Them
Dirty tests and How To Clean ThemDirty tests and How To Clean Them
Dirty tests and How To Clean Them
 
Unit testing for Grown-ups
Unit testing for Grown-upsUnit testing for Grown-ups
Unit testing for Grown-ups
 
Spock: It's Only Logical
Spock: It's Only LogicalSpock: It's Only Logical
Spock: It's Only Logical
 
Dependency injection and Why It Matters to Testers
Dependency injection and Why It Matters to TestersDependency injection and Why It Matters to Testers
Dependency injection and Why It Matters to Testers
 
Spring Testing Features
Spring Testing FeaturesSpring Testing Features
Spring Testing Features
 
Beter code for better tests
Beter code for better testsBeter code for better tests
Beter code for better tests
 
Agile Intro to DevOps
Agile Intro to DevOpsAgile Intro to DevOps
Agile Intro to DevOps
 
Playing games remotely
Playing games remotelyPlaying games remotely
Playing games remotely
 
An agile introduction to DevOps
An agile introduction to DevOpsAn agile introduction to DevOps
An agile introduction to DevOps
 
Why TDD is Important for Everyone
Why TDD is Important for EveryoneWhy TDD is Important for Everyone
Why TDD is Important for Everyone
 
Creating A Unit Testing Strategy
Creating A Unit Testing StrategyCreating A Unit Testing Strategy
Creating A Unit Testing Strategy
 
Work
WorkWork
Work
 
Introduction to Unit Testing
Introduction to Unit TestingIntroduction to Unit Testing
Introduction to Unit Testing
 
TDD for the rest of us
TDD for the rest of usTDD for the rest of us
TDD for the rest of us
 
Simple
SimpleSimple
Simple
 
What is wrong with agile
What is wrong with agileWhat is wrong with agile
What is wrong with agile
 

Recently uploaded

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

A Horror Story

Editor's Notes

  1. 15 mins?
  2. Good narrative, but cannot be tested
  3. Good narrative, but cannot be tested
  4. A scenario has 3 parts, like AAA. In fact 4, also clean up. We need to specify an acceptance criteria, otherwise we can’t know if our “test” passes really or by accident. In unit tests we have Asserts. This is different than DoD For each test/story/scenario we need the same.
  5. Good narrative, but cannot be tested
  6. Good narrative, but cannot be tested
  7. Drop the template.  Like everything, once we have a hammer we start looking for nails. Sometimes the template doesn't fit. That's ok. In that case... Tell the story in a sentence. Maybe two. When people are presented with a new idea, don't make them read heaps of documents. Sum it up, so they can grasp it quickly. Details can come later. And make sure it's a story, with a beginning, middle and an end. People remember and consume stories better. You can even sing it if you want, that would make it more memorable. Next you want to... Anchor it. You know the "It's like Uber, but for...?" pitch form every start up  is using? Everybody knows Uber, so they have something to reference the new information. In story-land it's how the story fits into the application. "It's like the log-in story from last week, but with extra validation". Or, "Once we've done with the simple path, we can add more informed algorithms". You're showing where we were, where we're going, and where this story fits. Then it gets interesting. Unveil the motive. Why are we developing this anyway? Who is going to benefit and how? The user may be able to go through registration quicker, and that means more happy users. Or we, the company, gets more money from the dog accessories suppliers, if we're able to connect our users based on their level of pet appreciation. There's a reason we're developing the feature, and it really helps to know the final goal. In some cases, we can debunk it, and choose something better to do with our time. Once people understand the motive... Make a show. How does it look like? You have prepared some mock-up screens, or sketches, or drawing of a flow, or anything that has more meat, right? Ah, you need to prepare for this, young Padawan. It will help, not just with explaining it, but it's a also the setting for... Give it context.Now that things begin to materialize, it's time for an example. You can present the flow on those mocked screens. Or how a different application might be using our new API. How future features will be using our back-end  calculation results. Context is awesome! We can use it to direct the team towards... Generalize. Do we start with the example and just implement it? Should we write a more extensive data validation layer, and then test it? Somewhere in between? An example is not enough for development, because we need to know where to stop. And we need to know how to test. This really helps with defining the acceptance criteria. The final step is... Draw a line in the sand. Some things do not fall into our general rule.  VIPs do not need to enter their credentials again. Anonymous users can use the applications, but will go through a separate flow we'll define later. Anything that does not fall within our boundaries, should be presented. Otherwise, we would implement it, and test it, and we will be surprised. And we don't like surprises.
  8. Drop the template.  Like everything, once we have a hammer we start looking for nails. Sometimes the template doesn't fit. That's ok. In that case... Tell the story in a sentence. Maybe two. When people are presented with a new idea, don't make them read heaps of documents. Sum it up, so they can grasp it quickly. Details can come later. And make sure it's a story, with a beginning, middle and an end. People remember and consume stories better. You can even sing it if you want, that would make it more memorable. Next you want to... Anchor it. You know the "It's like Uber, but for...?" pitch form every start up  is using? Everybody knows Uber, so they have something to reference the new information. In story-land it's how the story fits into the application. "It's like the log-in story from last week, but with extra validation". Or, "Once we've done with the simple path, we can add more informed algorithms". You're showing where we were, where we're going, and where this story fits. Then it gets interesting. Unveil the motive. Why are we developing this anyway? Who is going to benefit and how? The user may be able to go through registration quicker, and that means more happy users. Or we, the company, gets more money from the dog accessories suppliers, if we're able to connect our users based on their level of pet appreciation. There's a reason we're developing the feature, and it really helps to know the final goal. In some cases, we can debunk it, and choose something better to do with our time. Once people understand the motive... Make a show. How does it look like? You have prepared some mock-up screens, or sketches, or drawing of a flow, or anything that has more meat, right? Ah, you need to prepare for this, young Padawan. It will help, not just with explaining it, but it's a also the setting for... Give it context.Now that things begin to materialize, it's time for an example. You can present the flow on those mocked screens. Or how a different application might be using our new API. How future features will be using our back-end  calculation results. Context is awesome! We can use it to direct the team towards... Generalize. Do we start with the example and just implement it? Should we write a more extensive data validation layer, and then test it? Somewhere in between? An example is not enough for development, because we need to know where to stop. And we need to know how to test. This really helps with defining the acceptance criteria. The final step is... Draw a line in the sand. Some things do not fall into our general rule.  VIPs do not need to enter their credentials again. Anonymous users can use the applications, but will go through a separate flow we'll define later. Anything that does not fall within our boundaries, should be presented. Otherwise, we would implement it, and test it, and we will be surprised. And we don't like surprises.