SlideShare a Scribd company logo
1 of 9
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
Created: March 12, 2011
Updated: May 31, 2013
Vertical Slicing
AGENDA ITEMS
Vertical Slicing
By Ben Clay
Copyright 2013 All Rights Reserved by Ben Clay
Copyright 2013 All Rights Reserved by Ben Clay
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
2
Vertical Slicing
• Increased productivity
• Improved quality
• Less complex
• Testable
• Vertically sliced module
reuse (pluggable code reuse)
• Greater business value
• Sooner ROI
• Stub dependent data
if not available
• Decreased time to
market
Vertically Sliced Products
• Electronics (Computer Parts)
• Car Parts
• Modular Homes
• More
Breaking a complex problem into smaller more manageable vertical slices
Copyright 2013 All Rights Reserved by Ben Clay
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
3
The layers of Vertical Slicing
UX/UI
Service
Data
Additional Top Layer
Additional Middle Layer
Additional Bottom Layer
Login Slice
Copyright 2013 All Rights Reserved by Ben Clay
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
4
Vertical User Stories
LOGIN
Email
Password
remember me
Forgot Password
As an end user I must be able to login to my company portal so that I can perform
the functions of my job.
Acceptance Criteria
• Verify that I can log into
the system
• Verify that my login
credentials will be
remembered
• Verify that I can reset my
own password by
clicking the "Forgot
Password" link
• Verify that I cannot
navigate back to the
landing page without
first logging in
Copyright 2013 All Rights Reserved by Ben Clay
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
5
The Layers of Login
As a developer I must think about every layer I will need to touch in order to
vertically develop this user story.
NOTE:
At this point, if you as a developer
need to list out all the functions,
then do so. It will only help. This
way you can see what you need
to create and use it as a checklist
ensuring you don’t forget
anything.
UX/UI
Service
Data
Vertical
Copyright 2013 All Rights Reserved by Ben Clay
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
As a developer, you will need to think about every file encapsulated in each layer
that needs to be created and/or extended in order to complete this “Login User”
Story.
6
Dissected by Layer
bootstrap class
session class
UX/UI
Service
Data
index.jsp
CSS
constance class / config file
user bean
database class / ORM
database
function class
template class
login service
login.jsp
landing.jsp
JavaScript
Copyright 2013 All Rights Reserved by Ben Clay
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
No
index.jsp
7
Horizontal Flow Chart of
Pluggable Vertical Slices
Registration
bootstrap
session
control
No Yes
JavaScript
Register.jsp
HTML5
DB
No Yes
JavaScript
Login.jsp
HTML5
DBYes
Do Nothing
No
Yes
JavaScript
Landing Page
HTML5
Yes
No
Landing
Page Login
UX/UI
SERVICE
DATA
Registered?
Register
Successful?
Already
Logged in?
Login
Successful?Logout?
Vertical Slice Vertical Slice
Copyright 2013 All Rights Reserved by Ben Clay
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
8
Questions?
Copyright 2013 All Rights Reserved by Ben Clay
practicalA g i l e S o l u t i o n s T h a t W o r k
Ben Clay
9
Take Notes:

More Related Content

What's hot

How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
ShriKant Vashishtha
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story Decomposition
Dave Neuman
 

What's hot (20)

How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
 
Story of user story
Story of user storyStory of user story
Story of user story
 
User Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
User Stories
User StoriesUser Stories
User Stories
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User Stories
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping Workshop
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue Tracking
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story Decomposition
 
SCRUM User Story Life Cycle
SCRUM User Story Life CycleSCRUM User Story Life Cycle
SCRUM User Story Life Cycle
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 
User Story
User StoryUser Story
User Story
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Effective story slicing
Effective story slicingEffective story slicing
Effective story slicing
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 

Viewers also liked

Modularity and Domain Driven Design - A killer combination - T De Wolf & S va...
Modularity and Domain Driven Design - A killer combination - T De Wolf & S va...Modularity and Domain Driven Design - A killer combination - T De Wolf & S va...
Modularity and Domain Driven Design - A killer combination - T De Wolf & S va...
mfrancis
 
Henrik Kniberg - Essence of Agile
Henrik Kniberg - Essence of AgileHenrik Kniberg - Essence of Agile
Henrik Kniberg - Essence of Agile
AgileSparks
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
Naresh Jain
 

Viewers also liked (6)

SOA: An enabler for Continuous Delivery and innovation
SOA: An enabler for Continuous Delivery and innovationSOA: An enabler for Continuous Delivery and innovation
SOA: An enabler for Continuous Delivery and innovation
 
Modularity and Domain Driven Design - A killer combination - T De Wolf & S va...
Modularity and Domain Driven Design - A killer combination - T De Wolf & S va...Modularity and Domain Driven Design - A killer combination - T De Wolf & S va...
Modularity and Domain Driven Design - A killer combination - T De Wolf & S va...
 
Henrik Kniberg - Essence of Agile
Henrik Kniberg - Essence of AgileHenrik Kniberg - Essence of Agile
Henrik Kniberg - Essence of Agile
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
 
Become a Great Product Manager
Become a Great Product ManagerBecome a Great Product Manager
Become a Great Product Manager
 
The Executioner's Tale
The Executioner's TaleThe Executioner's Tale
The Executioner's Tale
 

Similar to Vertical Slicing

Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
Ravi Tadwalkar
 
Session15+16-User Story (2).pdf
Session15+16-User Story (2).pdfSession15+16-User Story (2).pdf
Session15+16-User Story (2).pdf
PeterTran514407
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
Mehdi Khalili
 

Similar to Vertical Slicing (20)

Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
Denver ACE October 21st 2020
Denver ACE October 21st 2020Denver ACE October 21st 2020
Denver ACE October 21st 2020
 
An Introduction to Drupal
An Introduction to DrupalAn Introduction to Drupal
An Introduction to Drupal
 
Denver Atlassian Community 5-minute Plugins
Denver Atlassian Community 5-minute PluginsDenver Atlassian Community 5-minute Plugins
Denver Atlassian Community 5-minute Plugins
 
Александр Махомет "Feature Flags. Уменьшаем риски при выпуске изменений"
Александр Махомет "Feature Flags. Уменьшаем риски при выпуске изменений" Александр Махомет "Feature Flags. Уменьшаем риски при выпуске изменений"
Александр Махомет "Feature Flags. Уменьшаем риски при выпуске изменений"
 
Feature Flags. Reducing risks during shipping changes/
Feature Flags. Reducing risks during shipping changes/Feature Flags. Reducing risks during shipping changes/
Feature Flags. Reducing risks during shipping changes/
 
Ibm redbook
Ibm redbookIbm redbook
Ibm redbook
 
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
 
Enabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in ActionEnabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in Action
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
 
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
 
Bulletproof design systems using storybook
Bulletproof design systems using storybookBulletproof design systems using storybook
Bulletproof design systems using storybook
 
Session15+16-User Story (2).pdf
Session15+16-User Story (2).pdfSession15+16-User Story (2).pdf
Session15+16-User Story (2).pdf
 
human computer interaction of movie booking system project
human computer interaction of movie booking system projecthuman computer interaction of movie booking system project
human computer interaction of movie booking system project
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partner
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02
 
Spring '20 Developer Release Highlights
Spring '20 Developer Release HighlightsSpring '20 Developer Release Highlights
Spring '20 Developer Release Highlights
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Vertical Slicing

  • 1. practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay Created: March 12, 2011 Updated: May 31, 2013 Vertical Slicing AGENDA ITEMS Vertical Slicing By Ben Clay Copyright 2013 All Rights Reserved by Ben Clay
  • 2. Copyright 2013 All Rights Reserved by Ben Clay practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay 2 Vertical Slicing • Increased productivity • Improved quality • Less complex • Testable • Vertically sliced module reuse (pluggable code reuse) • Greater business value • Sooner ROI • Stub dependent data if not available • Decreased time to market Vertically Sliced Products • Electronics (Computer Parts) • Car Parts • Modular Homes • More Breaking a complex problem into smaller more manageable vertical slices
  • 3. Copyright 2013 All Rights Reserved by Ben Clay practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay 3 The layers of Vertical Slicing UX/UI Service Data Additional Top Layer Additional Middle Layer Additional Bottom Layer Login Slice
  • 4. Copyright 2013 All Rights Reserved by Ben Clay practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay 4 Vertical User Stories LOGIN Email Password remember me Forgot Password As an end user I must be able to login to my company portal so that I can perform the functions of my job. Acceptance Criteria • Verify that I can log into the system • Verify that my login credentials will be remembered • Verify that I can reset my own password by clicking the "Forgot Password" link • Verify that I cannot navigate back to the landing page without first logging in
  • 5. Copyright 2013 All Rights Reserved by Ben Clay practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay 5 The Layers of Login As a developer I must think about every layer I will need to touch in order to vertically develop this user story. NOTE: At this point, if you as a developer need to list out all the functions, then do so. It will only help. This way you can see what you need to create and use it as a checklist ensuring you don’t forget anything. UX/UI Service Data Vertical
  • 6. Copyright 2013 All Rights Reserved by Ben Clay practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay As a developer, you will need to think about every file encapsulated in each layer that needs to be created and/or extended in order to complete this “Login User” Story. 6 Dissected by Layer bootstrap class session class UX/UI Service Data index.jsp CSS constance class / config file user bean database class / ORM database function class template class login service login.jsp landing.jsp JavaScript
  • 7. Copyright 2013 All Rights Reserved by Ben Clay practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay No index.jsp 7 Horizontal Flow Chart of Pluggable Vertical Slices Registration bootstrap session control No Yes JavaScript Register.jsp HTML5 DB No Yes JavaScript Login.jsp HTML5 DBYes Do Nothing No Yes JavaScript Landing Page HTML5 Yes No Landing Page Login UX/UI SERVICE DATA Registered? Register Successful? Already Logged in? Login Successful?Logout? Vertical Slice Vertical Slice
  • 8. Copyright 2013 All Rights Reserved by Ben Clay practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay 8 Questions?
  • 9. Copyright 2013 All Rights Reserved by Ben Clay practicalA g i l e S o l u t i o n s T h a t W o r k Ben Clay 9 Take Notes: