How to eat an elephant? Agile Breakfast Basel, 12. Juni 2014 Silvan Saxer & Sibylle Peter Photos - Elephant: Matt Biddulph, https://flic.kr/p/bNNaTB - Carpaccio: Charleston’s The Digitel, https://flic.kr/p/93Rw2J Elephant Carpaccio Exercise Your first go at splitting? How many new stories did you get? Are they good? 14. Juli 2014 2 What is a good user stoy? Properties of a good story Cuts accross layers INVEST (Bill Wakes, 2003) User presentation process application data Story Independent Negotiable Valuable Estimate-able Small Testable Reference: http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/ 14. Juli 2014 3 What is a good user stoy? Cumulative Value delivered over time Value vs. Time Deliver value incrementally small stories value delivered (cumulative) Earlier and incremental delivery Early feedback from customers Better prioritizations and easier planning Focus on high valued stories first big stories Be warned: it needs a mind change waterfall time 14. Juli 2014 4 Example Search for car matriculation documents Search Functionality Policynr. Status LicencePl Firstname Lastname PLZ Document: Search eVn eSk RM AT Reset Doc Id Date Status LicencePl Firstname Lastname RM 83 01.02.1999 Erledigt BS 123456 Peter Tester AT 83 01.02.2014 Offen ZH 123456 Sandra Tester RM 15 01.02.1999 Erstellt BL 454 Peter Tester RM 83 01.02.1999 BS 123456 Peter Tester RM 83 01.02.1999 SG 8785 Peter Tester RM 83 01.02.1999 Erledigt BS 123456 Peter Tester RM 83 01.02.2011 Erledigt BS 123456 Peter Tester View Erledigt Edit Erledigt Delete previous next 14. Juli 2014 5 Story splitting Split by development process INVEST Independent Design Negotiable search functionality Valuable Estimate-able Code search functionality Small Testable Test for search functionality small stories Deploy search functionaltiy value delivered (cumulative) waterfall time 14. Juli 2014 6 Story splitting Split by architecture Design/Build/Test User Interface Design/Build/Test Middle Tier Design/Build/Test Database small stories Write Acceptance-Tests value delivered (cumulative) waterfall time Deploy 14. Juli 2014 7 Spike Major effort Var. in data Business Rule Variation Workfl. steps Simple/ Operations Complex Story Splitting Patterns (Richard Lawrence, 2009) Data entry Defer Role methods Perform. Story splitting Small stories Show sample result when hitting search button Search for first 100 documents for one document type Search for first 100 documents for other document types Search restriction for policy number Search restriction for first name INVEST Independent Negotiable Valuable Estimate-able Small Testable Other search criteria… Easy search (one field search) small stories value delivered (cumulative) View selected document time Edit selected document Only show user’s documents Optimize search performance Direct search feedback on entry 14. Juli 2014 8 Story splitting Patterns of story splitting (Richard Lawrence, 2009) Workflow steps Fundamental steps of the workflow first, other steps later Business Rule Variation Decompose a complex business rule in several concrete ones Major Effort Make a considerable initial effort explicit in a separate story Simple/Complex Do first the simplest thing that works, then add complexity Variation in Data Treat each variation in data as a separate story Data Entry Methods Build the simplest UI first and add more entry features later Defer performance First make it work, then make it work fast Operations Model every operation as a separate story (e.g., CRUD) Role Treat different user role competences in different stories Spike Make a technological experiment to learn more References: http://www.agileforall.com/2012/01/new-story-splitting-resource/, http://www.agileforall.com/2009/10/patterns-for-splitting-user-stories/ 14. Juli 2014 9 small stories Conclusion value delivered (cumulative) big stories waterfall Deliver business value incrementally time Stop breaking stories by process or architecture Apply story splitting patterns to cut the stories in small, valuable pieces Profit from – Earlier feedback – Happier customers – Happier developers 14. Juli 2014 10 Next step Value-Curve for our Example: Other features Nice UI all discounts one discount all VAT 8% VAT No VAT For the next 10 Minutes apply what you have learned to your backlog – For this example: aim for the extreme! After that, we will start developing 14. Juli 2014 11 References Elephant Carpaccio Exercise: – http://alistair.cockburn.us/Elephant+Carpaccio+exercise – https://docs.google.com/document/d/1TCuuu-8Mm14oxsOnlk8DqfZAA1cvtYu9WGv67Yj_sSk/pub Properties of good user stories: – http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/ – http://xp123.com/articles/independent-stories-in-the-invest-model/ – http://xp123.com/articles/valuable-stories-in-the-invest-model/ – http://www.objectmentor.com/resources/articles/IIDII.pdf – http://blogs.msdn.com/b/progressive_development/archive/2009/03/27/motley-says-vertical-slices-soundslike-something-you-do-to-salami.aspx Story splitting techniques: – http://www.agileforall.com/2012/01/new-story-splitting-resource/ – http://www.agileforall.com/2009/10/patterns-for-splitting-user-stories/ – http://www.agileforall.com/splitting-user-stories/ – http://agile-management.com/wordpress/splitting-user-stories/ – http://lassekoskela.com/thoughts/7/ways-to-split-user-stories/ – http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features 14. Juli 2014 12
© Copyright 2024