1.01k likes | 1.3k Views
User Stories & Planning Game. XP Immersion Vernon Hills, IL Ron Jeffries [Ann Anderson (in spirit)] [Chet Hendrickson (in spirit)]. User Stories & Planning Game. Learn by Doing Release Planning 3 hr Acceptance Tests 45 min Estimating 45min Writing Stories 45 min
E N D
User Stories & Planning Game • XP Immersion • Vernon Hills, IL • Ron Jeffries • [Ann Anderson (in spirit)] • [Chet Hendrickson (in spirit)] User Stories & Planning Game
User Stories & Planning Game • Learn by Doing • Release Planning 3 hr • Acceptance Tests 45 min • Estimating 45min • Writing Stories 45 min • Release Plan 45 min (???) • Iteration Plan 45 min User Stories & Planning Game
Business Value • Extreme Programming • Delivers and • Steers by • Business Value • Business Value belongs to the customer! User Stories & Planning Game
Cards, Cards, nothing but Cards • Stories on cards • Estimates on cards • Release planning with cards • Iteration planning with cards • Designing with cards User Stories & Planning Game
Why Cards • Tangible • Non-threatening • Modular • Replaceable • Biodegradable • Provide fiber User Stories & Planning Game
Card Issues • Losing them • Distributing them across the world • Paper cuts User Stories & Planning Game
Process Overview • Customer writes stories on cards • Customer defines acceptance test for story • Programmer estimates stories • Customer selects stories for release • Customer selects story for iteration • Programmer defines tasks for story • Programmer signs up and estimates tasks • Programmer does tasks (with partner) • Customer accepts completed stories User Stories & Planning Game
Exercise – Release Planning • Simulate a project several times • There will be a score for each team • But there will be no prizes User Stories & Planning Game
Exercise – Release Planning • Important new project • Executive Visibility • 45 Features • Six Months • Plan the Project month by month • Do the Project User Stories & Planning Game
What you may experience • Confusion or Fear • This is something new • Frustration • This isn’t my job! • But it is • Too many stories, not enough time • Pay attention to what you feel as you go. User Stories & Planning Game
Release Plan Discussion • What have we learned? • Stories have varying costs • Team can only do so much per month • Stories have varying value • Value lost if you never release • Value maximized if you release often • Highest value is not always highest priority • What else? User Stories & Planning Game
Exercise – Acceptance Tests • You have been picked by the executives (us) to build our new ATM software. • Elect a Customer • Read and understand stories • Define acceptance tests • Make decisions within your team, but we have important needs. Check with us wisely. User Stories & Planning Game
What you may experience • Confusion or Fear • This is something new • Frustration • This isn’t my job! • But it is • Too many stories, not enough time • Pay attention to what you feel as you go. User Stories & Planning Game
Acceptance Test Discussion User Stories & Planning Game
Exercise - Estimation • Now we senior executives need to know how long the ATM will take to complete. • System Design (as a group?) • Estimate each story • Read and discuss tasks • Estimate time to complete • Write on card with Pencil User Stories & Planning Game
What you may experience • Confusion, fear • Too many stories, not enough time • Pay attention to what you experience User Stories & Planning Game
Estimation Discussion User Stories & Planning Game
Estimating Stories • What is the best way to know how long something will take? • Do it and pay attention to how long it took. • But that’s not possible ... • Or is it? User Stories & Planning Game
Estimating Stories • Break stories down until you reach ... • Programs you have already written • Experiment where you have no experience • Exploration must precede estimation! User Stories & Planning Game
Standard Algorithms • Reports • record layout • selection • headers • footers • summaries • ==> 1/2, 1, 2 days User Stories & Planning Game
Standard Algorithm • GUI • Sketch Screen • Number of widgets • Number of data sources • Number of actions • ==> 1/2, 1, 2 days User Stories & Planning Game
Estimating Stories • Assume Simplicity • Trust your refactoring • Split when more than two weeks • Split when part seems difficult • Easy cards • Hard cards • Unknown cards - Explore!! User Stories & Planning Game
Estimating Stories • TRAP: Should we do X, or Y? • Doesn’t change the estimate? • Just estimate. • Changes the estimate? • Pick simpler and estimate User Stories & Planning Game
Estimating Stories • What if one way of implementing offers some real benefit? • Make it a story. • Trust the customer • Trust refactoring User Stories & Planning Game
Estimating Stories • Estimating is a team process • Deal with any story in 3 minutes or less • estimate • min/max estimate • split • schedule exploration • Become an estimating machine! User Stories & Planning Game
Estimating Stories • Estimate based on experience • Don’t engineer. • Don’t OVER-engineer. • You MUST be prepared! User Stories & Planning Game
Estimating Stories • Programmers split into groups • Estimate all stories • Lower any estimate unilaterally • Discuss estimates that seem too low • Try not to raise them User Stories & Planning Game
Exercise – Writing Stories • You are to define our new course registration system. • Split into two groups of about 4 • Write all the stories for this application • Take turns: one story per person • Non-writing members help • ask questions • estimatable • acceptance test User Stories & Planning Game
What you may experience • It’s too easy • It’s too hard • It’s too phony • Tendency to over-specify • Tendency to specify implementation • Pay attention to what happens and what you experience User Stories & Planning Game
Writing Stories Discussion User Stories & Planning Game
Getting Stories • Stories • must belong to customer • must have business value • must make sense to programmer • must be estimatable • Stories must belong to customer User Stories & Planning Game
Story Parts • Card • text describing the story • Conversation • the real understanding • Confirmation • the acceptance test User Stories & Planning Game
Example Story • Cost of Living Allowance (COLA) • EEs may receive COLA. Some unions pay a fixed $ amount per pay. Some pay a percentage of base. Amount or percentage varies by union and location. COLA rates change at specified times for different unions. • Each EE receives COLA in each check. User Stories & Planning Game
COLA Confirmation • Acceptance Test • Provide EEs from each union and from no union. Pay each EE for three pay periods, test whether COLA amount properly calculated. • Determine whether COLA amount properly displayed on check or EFT stub. User Stories & Planning Game
Employee GUI Story • Change obligation printout in EE GUI to look like the check stub. Copy attached. User Stories & Planning Game
Union Dues • Biweekly bargaining unit EEs are charged union dues automatically. Dues vary by union, location, time in grade, and by SSN (10 EEs). • Dues are taken ONLY in first pay of month. User Stories & Planning Game
Getting Stories • Joint effort, programmers and customers • Don’t outnumber them • Get customers writing • Help customers focus on value • Help customers keep stories estimatable • Stories belong to customer!! User Stories & Planning Game
Getting Stories • Customer writes stories • don’t create • don’t translate into tech talk • just UNDERSTAND • Therefore • educate customer on issues • don’t take responsibility back • Listen, don’t tell • Tell me about ... User Stories & Planning Game
Getting Stories • Offer flexibility when easier • Withhold flexibility when harder User Stories & Planning Game
Getting Stories • Offer flexibility when easier • Instead of just four adjustment entries, how about we accept any number, in a scrolling list? User Stories & Planning Game
Getting Stories • Withhold flexibility when harder • Do you want to be able to sort and search on all combinations of all fields? User Stories & Planning Game
Getting Stories • Split stories that are too big to estimate • We want to be able to query the database and find any record based on any attribute. We need reports with summaries on all major dimensions, and two- and three-dimensional graphs. We need faster-than-light communication and the ability to walk on water. User Stories & Planning Game
Getting Stories • Split parts with different priorities • In this story with the display and the sorting and the filtering, is each of those features equally important? No? How about if we break them out? User Stories & Planning Game
Exercise – Release Plan • Produce a release plan for your course system • Two customers move to next table • Explain stories to programmers. Use acceptance test as necessary. • Programmers estimate stories • Plan against calendar. Ask instructors for velocity. User Stories & Planning Game
What you may experience • Time pressure • Not enough to do • Pay attention to what you experience User Stories & Planning Game
Exercise – Release Plan Again User Stories & Planning Game
Release Plan Discussion User Stories & Planning Game
Release Plan • Exploration • Commitment • Steering User Stories & Planning Game
Release Plan • You MUST be prepared! • Have the stories • Be familiar with them • Spikes and explorations • Metaphor • You MUST be ready to estimate! User Stories & Planning Game
Metaphor • Common vision • how the program works • what it is “like” • Lack of metaphor • MUCH reduced communication • weaker plan • slower progress User Stories & Planning Game