SlideShare a Scribd company logo
How Thin is Thin? Effective Story Slicing
How Thin is Thin?
Effective Story Slicing
Agile DC
September 23, 2019
How Thin is Thin? Effective Story Slicing
Who is this guy anyway?
• Agile Practitioner & Coach
• Software Developer
• Recovering Manager
• Assumption Challenger
• Impatient Optimist
• The punchline to a joke or 10
• Member of the Agile community for this entire century
@daverooneyca on Twitter
www.linkedin.com/in/daverooneyagile/
medium.com/@daverooneyca and blog.daverooney.ca/
dave@daverooney.ca
How Thin is Thin? Effective Story Slicing
But enough about me! Who are you?
3
• Product Managers?
• Product Owners?
• Business Analysts?
• ScrumMasters?
• Developers?
• QA?
• UX?
• Architects?
• Management?
• ???
How Thin is Thin? Effective Story Slicing
4
Why Use Small Stories?
• Better flow
• Better focus
• Reduced risk
• Improved visibility
How Thin is Thin? Effective Story Slicing
5
Why Small?
How Thin is Thin? Effective Story Slicing
6
So What Does Thin Mean?
User Interface
Web Server
Application Server
Business Logic
Database
Story
• A single “slice” through all layers of a
system
• Just enough functionality to provide
value to the Product Owner
• The Team can easily identify what
has to be done to deliver the story
How Thin is Thin? Effective Story Slicing
7
DatabaseRemote API
What About non-Web Systems? There’s no difference!
User Interface
Business Logic
Database
Story
User Interface
Business Logic
Story
API Gateway
Business Logic
Story
How Thin is Thin? Effective Story Slicing
8
A “Real World” Example - The Point of Sale (POS) System
• Client was building a web-based POS
system for salespeople taking orders in
the field
• The orders would be stored in the POS
database, but they would also be sent to
the Oracle back-end eBusiness Suite
• Customer and Product data would come
from the Oracle eBusiness Suite
How Thin is Thin? Effective Story Slicing
9
The First Story
• Used Personas and Story Mapping to identify how
the system would support the work of the
salespeople
• The Product Owner determined that the most
fundamental aspect of the system was to create
orders
How Thin is Thin? Effective Story Slicing
10
The First Story
TOO BIG!
• Used Personas and Story Mapping to identify how
the system would support the work of the
salespeople
• The Product Owner determined that the most
fundamental aspect of the system was to create
orders
How Thin is Thin? Effective Story Slicing
So what do we really need?
11
How Thin is Thin? Effective Story Slicing
12
For the first Story...
How Thin is Thin? Effective Story Slicing
13
For the first Story...
• Didn’t create tables for the Customer or Product
• Used hard-coded values for both
• No validation of those values
• Simple web page with “Create Order” button
• Second page to show that the order was created
(could have even been validated with an SQL
query!)
How Thin is Thin? Effective Story Slicing
14
Was This Story “Thin”?
User Interface
Web Server
Application Server
Business Logic
Database
Story
• A single “slice” through all layers of a
system
• Required work in all layers and
created the foundation for all later
stories
• Just enough functionality to provide value
to the Product Owner
• An Order was created
• The Team can easily identify what has to
be done to deliver the story
• Very small, easily verified
How Thin is Thin? Effective Story Slicing
15
The Next Story...
How Thin is Thin? Effective Story Slicing
16
The Next Story...
• Still using a hard-coded value for the Product
• Customer ID is entered manually
• Still no validation of those values
• Web page now has a text field for the Customer ID as
well as“Create Order” button
• Second page to show that the order was created
(could have even been validated with an SQL query!)
How Thin is Thin? Effective Story Slicing
17
Still “Thin”?
User Interface
Web Server
Application Server
Business Logic
Database
Story
• A single “slice” through all layers of a
system
• Just enough functionality to provide value
to the Product Owner
• An Order was created with the
specified Customer ID
• The Team can easily identify what has to
be done to deliver the story
• Very small, easily verified
How Thin is Thin? Effective Story Slicing
18
The Next Next Story...
How Thin is Thin? Effective Story Slicing
19
The Next Next Story...
• Still using a hard-coded value for the Product
• Customer is selected from a list of valid customers, but hard-
coded into the page
• No validation of the product, but the customer will be valid
• Web page now has a drop-down list for the Customer as well as
the “Create Order” button
• Second page to show that the order was created (could have
even been validated with an SQL query!)
How Thin is Thin? Effective Story Slicing
20
Are we still “Thin”?
User Interface
Web Server
Application Server
Business Logic
Database
Story
• A single “slice” through all layers of a
system
• Just enough functionality to provide value
to the Product Owner
• An Order was created with the
selected Customer ID
• The Team can easily identify what has to
be done to deliver the story
• Very small, easily verified
How Thin is Thin? Effective Story Slicing
21
The Stories Continue...
How Thin is Thin? Effective Story Slicing
22
The Stories Continue...
• The Product ID is entered in a text field
• Customer is selected from a list of valid customers, but
hard-coded into the page
• No validation of the product, but the customer will be valid
• Web page now has a drop-down list for the Customer, a
text field for the Product and a “Create Order” button
• Second page to show that the order was created
How Thin is Thin? Effective Story Slicing
23
Are we still “Thin”?
User Interface
Web Server
Application Server
Business Logic
Database
Story
• A single “slice” through all layers of a
system
• Required work in all layers and
created the foundation for all later
stories
• Just enough functionality to provide value
to the Product Owner
• An Order was created with the
selected Customer ID and a Line Item
was added for the Product ID entered
• The Team can easily identify what has to
be done to deliver the story
• Very small, easily verified
How Thin is Thin? Effective Story Slicing
24
Let’s Skip Ahead A Bit…
How Thin is Thin? Effective Story Slicing
25
Let’s Skip Ahead A Bit…
• We can now enter multiple Products selected from a list, hard-
coded into the page
• Customer is selected from a list of valid customers, but hard-
coded into the page
• Both the product and customer will be valid
• Web page now has a drop-down list for the Customer,
multiple drop-down lists for the Products and a “Create Order”
button
• Second page to show that the order was created
How Thin is Thin? Effective Story Slicing
26
Are we still “Thin”?
User Interface
Web Server
Application Server
Business Logic
Database
Story
• A single “slice” through all layers of a
system
• Required work in all layers and
created the foundation for all later
stories
• Just enough functionality to provide value
to the Product Owner
• An Order was created with the
selected Customer ID and Line Items
were created for each of the Products
• The Team can easily identify what has to
be done to deliver the story
• Very small, easily verified
How Thin is Thin? Effective Story Slicing
27
Ahead even further…
How Thin is Thin? Effective Story Slicing
28
Ahead even further…
• Both stories use the back-end Product and Customer
services to fill the drop-down lists
• The lists are valid as of the time the page is rendered
since they’re using the most up to date data
• The page is now a classic master/detail view with line
items for the products
How Thin is Thin? Effective Story Slicing
29
Are we still “Thin”?
User Interface
Web Server
Application Server
Business Logic
Database
Story
• A single “slice” through all layers of a
system
• Just enough functionality to provide value
to the Product Owner
• An Order was created using valid
Customers and Products from the
back-end services
• The Team can easily identify what has to
be done to deliver the story
• Very small, easily verified
How Thin is Thin? Effective Story Slicing
30
All of that from One Story!
• We built out Create Order using many small, valuable
slices
• Each one delivered value
• Each one further reduced risk
• Each one was tested:
• JUnit microtests at the code level
• Cucumber scenarios at the story level
• Each one allowed incremental delivery of the system
architecture
How Thin is Thin? Effective Story Slicing
So what did we just see?
• We used hard-coded values to simplify by excluding any processing
of user data entry
• A simple UI was used that was barely sufficient to support the
stories
• No validation of data entered before it was really required
• A story that had no “child” records was followed by a story with one
child then a story with many children
• Although the final system would have an interface with the Oracle
back-end services, we deferred using that interface until it was
necessary
31
How Thin is Thin? Effective Story Slicing
32
Story Splitting Patterns
• Hard coding values;
• Simple interface;
• Defer validation;
• Zero, then One, then Many (with the Products);
• Defer complexity (with the back-end Services).
How Thin is Thin? Effective Story Slicing
Exercise: The Digital Personal Video Recorder (PVR)
33
• Process:
• Break out into groups of 6-10 (e.g. your table)
• Don’t worry about hardware details, focus on the stories about
someone will use the PVR
• Brainstorm the high-level functionality that should exist
• Brainstorm the stories that will deliver that functionality iteratively and
incrementally
How Thin is Thin? Effective Story Slicing
• The system downloads program information over Ethernet.
• The user can configure the following:
• Maximum number of episodes to record
• Finding the same show on other channels
• Time to keep the episodes before automatically deleting them
• Record only new or new and repeat episodes
• Shows can be rated when watched. This information is anonymously fed to an online
service that tracks ratings.
• The system makes recommendations based on what you like compared to what other
people like (all anonymously).
• The system integrates with social media like FaceBook, Twitter, etc.
Exercise: The Digital Personal Video Recorder (PVR)
34
How Thin is Thin? Effective Story Slicing
Resources & Further Reading
• Story Splitting Patterns
• User Stories - An Agile Introduction
• How to Enable Estimate-Free Development
• It’s Just a Feature-for-Feature Port
Questions about the session? Contact me at dave@daverooney.ca
35

More Related Content

Similar to How Thin is Thin? Effective Story Slicing (Agile DC 2019)

Service-Oriented Architecture
Service-Oriented ArchitectureService-Oriented Architecture
Service-Oriented Architecture
Samantha Geitz
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
Daniel Zivkovic
 
Turn On The Lights
Turn On The LightsTurn On The Lights
Turn On The Lights
Postman
 
Customer-centric Metrics
Customer-centric MetricsCustomer-centric Metrics
Customer-centric Metrics
Mark McBride
 
The Future of ETL Isn't What It Used to Be
The Future of ETL Isn't What It Used to BeThe Future of ETL Isn't What It Used to Be
The Future of ETL Isn't What It Used to Be
confluent
 
Sencha Auckland Conference (SenchaCon) AdvanceRetail Presentation
Sencha Auckland Conference (SenchaCon) AdvanceRetail PresentationSencha Auckland Conference (SenchaCon) AdvanceRetail Presentation
Sencha Auckland Conference (SenchaCon) AdvanceRetail Presentation
Andrew Bell
 
When ordering Matters - Flink Forward EU - Berlin - 2019
When ordering Matters - Flink Forward EU - Berlin - 2019 When ordering Matters - Flink Forward EU - Berlin - 2019
When ordering Matters - Flink Forward EU - Berlin - 2019
Niels Basjes
 
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Precisely
 
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Niels Basjes
 
Scrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdfScrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdf
NarasimhaL2
 
Online shopping system.pptx
Online shopping system.pptxOnline shopping system.pptx
Online shopping system.pptx
poojarameshpawar7
 
26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team
agilebin
 
Best Practices for Web Infrastructure on Amazon Web Services
Best Practices for Web Infrastructure on Amazon Web ServicesBest Practices for Web Infrastructure on Amazon Web Services
Best Practices for Web Infrastructure on Amazon Web Services
Brett Gillett
 
Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...
Valerie Puffet-Michel
 
How to work with developers
How to work with developersHow to work with developers
How to work with developers
Pascal Auberson
 
Amazon 2016
Amazon 2016Amazon 2016
Amazon 2016
Bala Iyer
 
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
TechWell
 
Digital Transformation - Why you need to embrace it now
Digital Transformation - Why you need to embrace it nowDigital Transformation - Why you need to embrace it now
Digital Transformation - Why you need to embrace it now
Muliadi Jeo
 
Data modeling trends for Analytics
Data modeling trends for AnalyticsData modeling trends for Analytics
Data modeling trends for Analytics
Ike Ellis
 
How to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-upHow to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-up
Adam Kariv
 

Similar to How Thin is Thin? Effective Story Slicing (Agile DC 2019) (20)

Service-Oriented Architecture
Service-Oriented ArchitectureService-Oriented Architecture
Service-Oriented Architecture
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
 
Turn On The Lights
Turn On The LightsTurn On The Lights
Turn On The Lights
 
Customer-centric Metrics
Customer-centric MetricsCustomer-centric Metrics
Customer-centric Metrics
 
The Future of ETL Isn't What It Used to Be
The Future of ETL Isn't What It Used to BeThe Future of ETL Isn't What It Used to Be
The Future of ETL Isn't What It Used to Be
 
Sencha Auckland Conference (SenchaCon) AdvanceRetail Presentation
Sencha Auckland Conference (SenchaCon) AdvanceRetail PresentationSencha Auckland Conference (SenchaCon) AdvanceRetail Presentation
Sencha Auckland Conference (SenchaCon) AdvanceRetail Presentation
 
When ordering Matters - Flink Forward EU - Berlin - 2019
When ordering Matters - Flink Forward EU - Berlin - 2019 When ordering Matters - Flink Forward EU - Berlin - 2019
When ordering Matters - Flink Forward EU - Berlin - 2019
 
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
Learnings from 7 Years of Integrating Mission-Critical IBM Z® and IBM i with ...
 
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
 
Scrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdfScrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdf
 
Online shopping system.pptx
Online shopping system.pptxOnline shopping system.pptx
Online shopping system.pptx
 
26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team
 
Best Practices for Web Infrastructure on Amazon Web Services
Best Practices for Web Infrastructure on Amazon Web ServicesBest Practices for Web Infrastructure on Amazon Web Services
Best Practices for Web Infrastructure on Amazon Web Services
 
Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...
 
How to work with developers
How to work with developersHow to work with developers
How to work with developers
 
Amazon 2016
Amazon 2016Amazon 2016
Amazon 2016
 
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
 
Digital Transformation - Why you need to embrace it now
Digital Transformation - Why you need to embrace it nowDigital Transformation - Why you need to embrace it now
Digital Transformation - Why you need to embrace it now
 
Data modeling trends for Analytics
Data modeling trends for AnalyticsData modeling trends for Analytics
Data modeling trends for Analytics
 
How to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-upHow to maintain a perfect product architecture in a non-stop start-up
How to maintain a perfect product architecture in a non-stop start-up
 

More from Dave Rooney

#NoBigProcesses - Getting More Done by Doing Less (PrDC Deliver 2019)
#NoBigProcesses - Getting More Done by Doing Less (PrDC Deliver 2019)#NoBigProcesses - Getting More Done by Doing Less (PrDC Deliver 2019)
#NoBigProcesses - Getting More Done by Doing Less (PrDC Deliver 2019)
Dave Rooney
 
#NoProcesses - Doing More by Doing Less
#NoProcesses - Doing More by Doing Less#NoProcesses - Doing More by Doing Less
#NoProcesses - Doing More by Doing Less
Dave Rooney
 
GOAT 2015 - Digging to the Roots
GOAT 2015 - Digging to the RootsGOAT 2015 - Digging to the Roots
GOAT 2015 - Digging to the Roots
Dave Rooney
 
From the Ashes of Phoenix - GOAT 2018
From the Ashes of Phoenix - GOAT 2018From the Ashes of Phoenix - GOAT 2018
From the Ashes of Phoenix - GOAT 2018
Dave Rooney
 
From the Ashes of Phoenix - PrDeliver 2018
From the Ashes of Phoenix - PrDeliver 2018From the Ashes of Phoenix - PrDeliver 2018
From the Ashes of Phoenix - PrDeliver 2018
Dave Rooney
 
Confessions of a Flow Junkie
Confessions of a Flow JunkieConfessions of a Flow Junkie
Confessions of a Flow Junkie
Dave Rooney
 

More from Dave Rooney (6)

#NoBigProcesses - Getting More Done by Doing Less (PrDC Deliver 2019)
#NoBigProcesses - Getting More Done by Doing Less (PrDC Deliver 2019)#NoBigProcesses - Getting More Done by Doing Less (PrDC Deliver 2019)
#NoBigProcesses - Getting More Done by Doing Less (PrDC Deliver 2019)
 
#NoProcesses - Doing More by Doing Less
#NoProcesses - Doing More by Doing Less#NoProcesses - Doing More by Doing Less
#NoProcesses - Doing More by Doing Less
 
GOAT 2015 - Digging to the Roots
GOAT 2015 - Digging to the RootsGOAT 2015 - Digging to the Roots
GOAT 2015 - Digging to the Roots
 
From the Ashes of Phoenix - GOAT 2018
From the Ashes of Phoenix - GOAT 2018From the Ashes of Phoenix - GOAT 2018
From the Ashes of Phoenix - GOAT 2018
 
From the Ashes of Phoenix - PrDeliver 2018
From the Ashes of Phoenix - PrDeliver 2018From the Ashes of Phoenix - PrDeliver 2018
From the Ashes of Phoenix - PrDeliver 2018
 
Confessions of a Flow Junkie
Confessions of a Flow JunkieConfessions of a Flow Junkie
Confessions of a Flow Junkie
 

Recently uploaded

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
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
Envertis Software Solutions
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
seospiralmantra
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
sandeepmenon62
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
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
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 

Recently uploaded (20)

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
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
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 ...
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 

How Thin is Thin? Effective Story Slicing (Agile DC 2019)

  • 1. How Thin is Thin? Effective Story Slicing How Thin is Thin? Effective Story Slicing Agile DC September 23, 2019
  • 2. How Thin is Thin? Effective Story Slicing Who is this guy anyway? • Agile Practitioner & Coach • Software Developer • Recovering Manager • Assumption Challenger • Impatient Optimist • The punchline to a joke or 10 • Member of the Agile community for this entire century @daverooneyca on Twitter www.linkedin.com/in/daverooneyagile/ medium.com/@daverooneyca and blog.daverooney.ca/ dave@daverooney.ca
  • 3. How Thin is Thin? Effective Story Slicing But enough about me! Who are you? 3 • Product Managers? • Product Owners? • Business Analysts? • ScrumMasters? • Developers? • QA? • UX? • Architects? • Management? • ???
  • 4. How Thin is Thin? Effective Story Slicing 4 Why Use Small Stories? • Better flow • Better focus • Reduced risk • Improved visibility
  • 5. How Thin is Thin? Effective Story Slicing 5 Why Small?
  • 6. How Thin is Thin? Effective Story Slicing 6 So What Does Thin Mean? User Interface Web Server Application Server Business Logic Database Story • A single “slice” through all layers of a system • Just enough functionality to provide value to the Product Owner • The Team can easily identify what has to be done to deliver the story
  • 7. How Thin is Thin? Effective Story Slicing 7 DatabaseRemote API What About non-Web Systems? There’s no difference! User Interface Business Logic Database Story User Interface Business Logic Story API Gateway Business Logic Story
  • 8. How Thin is Thin? Effective Story Slicing 8 A “Real World” Example - The Point of Sale (POS) System • Client was building a web-based POS system for salespeople taking orders in the field • The orders would be stored in the POS database, but they would also be sent to the Oracle back-end eBusiness Suite • Customer and Product data would come from the Oracle eBusiness Suite
  • 9. How Thin is Thin? Effective Story Slicing 9 The First Story • Used Personas and Story Mapping to identify how the system would support the work of the salespeople • The Product Owner determined that the most fundamental aspect of the system was to create orders
  • 10. How Thin is Thin? Effective Story Slicing 10 The First Story TOO BIG! • Used Personas and Story Mapping to identify how the system would support the work of the salespeople • The Product Owner determined that the most fundamental aspect of the system was to create orders
  • 11. How Thin is Thin? Effective Story Slicing So what do we really need? 11
  • 12. How Thin is Thin? Effective Story Slicing 12 For the first Story...
  • 13. How Thin is Thin? Effective Story Slicing 13 For the first Story... • Didn’t create tables for the Customer or Product • Used hard-coded values for both • No validation of those values • Simple web page with “Create Order” button • Second page to show that the order was created (could have even been validated with an SQL query!)
  • 14. How Thin is Thin? Effective Story Slicing 14 Was This Story “Thin”? User Interface Web Server Application Server Business Logic Database Story • A single “slice” through all layers of a system • Required work in all layers and created the foundation for all later stories • Just enough functionality to provide value to the Product Owner • An Order was created • The Team can easily identify what has to be done to deliver the story • Very small, easily verified
  • 15. How Thin is Thin? Effective Story Slicing 15 The Next Story...
  • 16. How Thin is Thin? Effective Story Slicing 16 The Next Story... • Still using a hard-coded value for the Product • Customer ID is entered manually • Still no validation of those values • Web page now has a text field for the Customer ID as well as“Create Order” button • Second page to show that the order was created (could have even been validated with an SQL query!)
  • 17. How Thin is Thin? Effective Story Slicing 17 Still “Thin”? User Interface Web Server Application Server Business Logic Database Story • A single “slice” through all layers of a system • Just enough functionality to provide value to the Product Owner • An Order was created with the specified Customer ID • The Team can easily identify what has to be done to deliver the story • Very small, easily verified
  • 18. How Thin is Thin? Effective Story Slicing 18 The Next Next Story...
  • 19. How Thin is Thin? Effective Story Slicing 19 The Next Next Story... • Still using a hard-coded value for the Product • Customer is selected from a list of valid customers, but hard- coded into the page • No validation of the product, but the customer will be valid • Web page now has a drop-down list for the Customer as well as the “Create Order” button • Second page to show that the order was created (could have even been validated with an SQL query!)
  • 20. How Thin is Thin? Effective Story Slicing 20 Are we still “Thin”? User Interface Web Server Application Server Business Logic Database Story • A single “slice” through all layers of a system • Just enough functionality to provide value to the Product Owner • An Order was created with the selected Customer ID • The Team can easily identify what has to be done to deliver the story • Very small, easily verified
  • 21. How Thin is Thin? Effective Story Slicing 21 The Stories Continue...
  • 22. How Thin is Thin? Effective Story Slicing 22 The Stories Continue... • The Product ID is entered in a text field • Customer is selected from a list of valid customers, but hard-coded into the page • No validation of the product, but the customer will be valid • Web page now has a drop-down list for the Customer, a text field for the Product and a “Create Order” button • Second page to show that the order was created
  • 23. How Thin is Thin? Effective Story Slicing 23 Are we still “Thin”? User Interface Web Server Application Server Business Logic Database Story • A single “slice” through all layers of a system • Required work in all layers and created the foundation for all later stories • Just enough functionality to provide value to the Product Owner • An Order was created with the selected Customer ID and a Line Item was added for the Product ID entered • The Team can easily identify what has to be done to deliver the story • Very small, easily verified
  • 24. How Thin is Thin? Effective Story Slicing 24 Let’s Skip Ahead A Bit…
  • 25. How Thin is Thin? Effective Story Slicing 25 Let’s Skip Ahead A Bit… • We can now enter multiple Products selected from a list, hard- coded into the page • Customer is selected from a list of valid customers, but hard- coded into the page • Both the product and customer will be valid • Web page now has a drop-down list for the Customer, multiple drop-down lists for the Products and a “Create Order” button • Second page to show that the order was created
  • 26. How Thin is Thin? Effective Story Slicing 26 Are we still “Thin”? User Interface Web Server Application Server Business Logic Database Story • A single “slice” through all layers of a system • Required work in all layers and created the foundation for all later stories • Just enough functionality to provide value to the Product Owner • An Order was created with the selected Customer ID and Line Items were created for each of the Products • The Team can easily identify what has to be done to deliver the story • Very small, easily verified
  • 27. How Thin is Thin? Effective Story Slicing 27 Ahead even further…
  • 28. How Thin is Thin? Effective Story Slicing 28 Ahead even further… • Both stories use the back-end Product and Customer services to fill the drop-down lists • The lists are valid as of the time the page is rendered since they’re using the most up to date data • The page is now a classic master/detail view with line items for the products
  • 29. How Thin is Thin? Effective Story Slicing 29 Are we still “Thin”? User Interface Web Server Application Server Business Logic Database Story • A single “slice” through all layers of a system • Just enough functionality to provide value to the Product Owner • An Order was created using valid Customers and Products from the back-end services • The Team can easily identify what has to be done to deliver the story • Very small, easily verified
  • 30. How Thin is Thin? Effective Story Slicing 30 All of that from One Story! • We built out Create Order using many small, valuable slices • Each one delivered value • Each one further reduced risk • Each one was tested: • JUnit microtests at the code level • Cucumber scenarios at the story level • Each one allowed incremental delivery of the system architecture
  • 31. How Thin is Thin? Effective Story Slicing So what did we just see? • We used hard-coded values to simplify by excluding any processing of user data entry • A simple UI was used that was barely sufficient to support the stories • No validation of data entered before it was really required • A story that had no “child” records was followed by a story with one child then a story with many children • Although the final system would have an interface with the Oracle back-end services, we deferred using that interface until it was necessary 31
  • 32. How Thin is Thin? Effective Story Slicing 32 Story Splitting Patterns • Hard coding values; • Simple interface; • Defer validation; • Zero, then One, then Many (with the Products); • Defer complexity (with the back-end Services).
  • 33. How Thin is Thin? Effective Story Slicing Exercise: The Digital Personal Video Recorder (PVR) 33 • Process: • Break out into groups of 6-10 (e.g. your table) • Don’t worry about hardware details, focus on the stories about someone will use the PVR • Brainstorm the high-level functionality that should exist • Brainstorm the stories that will deliver that functionality iteratively and incrementally
  • 34. How Thin is Thin? Effective Story Slicing • The system downloads program information over Ethernet. • The user can configure the following: • Maximum number of episodes to record • Finding the same show on other channels • Time to keep the episodes before automatically deleting them • Record only new or new and repeat episodes • Shows can be rated when watched. This information is anonymously fed to an online service that tracks ratings. • The system makes recommendations based on what you like compared to what other people like (all anonymously). • The system integrates with social media like FaceBook, Twitter, etc. Exercise: The Digital Personal Video Recorder (PVR) 34
  • 35. How Thin is Thin? Effective Story Slicing Resources & Further Reading • Story Splitting Patterns • User Stories - An Agile Introduction • How to Enable Estimate-Free Development • It’s Just a Feature-for-Feature Port Questions about the session? Contact me at dave@daverooney.ca 35

Editor's Notes

  1. tt