AgilePracticeLibrary
REQUIREMENTS, STORIES, BACKLOG, PLANNING NOTES
Requirements
- Initiatives
- Projects/Products?
- Features/Functions? <= have the business conversation here
- Stories
- Tasks
Agile Requirements: User Stories, Backlogs, and Adaptive Planning (via Mary Gordon, Agile2016) [two-minute video summary] [full session video]
Discover + Deliver
- don’t try to do too much discovery, disconnected from delivering (waterfall)
- don’t rush in and fail to do enough discovery
- aim for an easy pulse between the two, balance, flow, rhythm
- this talk is about discovery
Three most common challenges:
- many user stories are inadequate - these travel from sprint to sprint and can’t get done: too big, insufficient definition of done, too early discovery (stale) or not enough discovery done (unclear)
- bulging backlogs - so many stories in backlog is nothing to brag about or aim for, bulging backlog is waste
- poor planning - too early, too late
The Structured Conversation
- start: main business idea, need, value, outcome, activity
- goal: discover and deliver highest value at earliest possible time
- options: identify product options - alternatives, choices, possibilities, to achieve a goal or solve a problem for stakeholders. can be big/small, odd/standard. select options based on value
- value: vision => (amplified by) goal => (quantified by) objectives => delivery ...do you have a vision for your product? do you have measurable objectives to achieve?
- structured conversation: (1) explore possibilities, (2) filter/evaluate by value = pulsation... not complete until (3) confirm shared understanding/agreement (write/share user stories)
- conversations explore all seven product dimensions: (1) who will use/purchase, (2) interface dimension (could be person, system, device), (3) action, aspects, verbs, capabilities, (4) data needed to support the product, (5) controls to enforce, policies, atomic testable business rules, (6) environment (customers’ and also developers’), (7) quality attributes (availability, security, reliability, etc)
- functional: who, action, data, controls
- non-functional: interface, environment, quality
- what: lean product backlog -- don’t develop too much detail too early
- who: “product partners” -- NOT stakeholders -- business, customers, dev, ops -- can invite individuals to choose user personas and/or product dimensions to “steward” through the conversation(s)
- use collaborative, visual thinking -- ebg consultng has downloadable [tools] -- use specific color for each product dimension.
Adaptive Planning
- views: answer ‘when?’ -- Big View (what is long term? annual?), Pre View (1 wk to 2-3 months?), Now View (sprint, very detailed) ...determines where you can be flexible and adapt
- BIG - process, epic, feature
- Pre - feature, MMF, use case, story
- now - stories (able to be completed in one sprint)
- experiments have hypotheses: tentative insight, something proposed, a concept that we can test and validate or prove wrong... we believe____, will result in_______, and we will know/agree if that’s true when ____________.
- validate to adapt: explore, make it ready, develop/test, accept, deploy, inspect (validate/fail)... explore... adapt
Right Requirements
- high value
- seven dimensions
- user stories ready for dev and test (Now View)
- lean backlog
- right partners - customers, business, technology in ongoing conversation
- right time - high value, validate ASAP
Sizing/Estimating? (via Mike Marchi)
- business presents stories
- team makes cards as business presents
- 1.5 hours to hear what stories were all about
- cards (not stickies) laid out on table
- task: do whatever is needed to arrange from smallest to largest, sliding cards on the table => clusters in a line
- small end - how big are these? same size? do in one sprint? => “SMALL”
- slide down the line until you get to twice as big => “medium”
- small = one sprint
- medium = 2x
- large = 4x
- x-large = 8x
- four hours total for process => rough sprints required => level 2 estimate
- add story points to refine estimates
Story Splitting (via Chris Sims at Agile2016, http://smallerstories.com)
As a <type of stakeholder>, I want <the deliverable>, so that <some value is created> (who, what, why)
four techniques to split stories
- conjunctions and connector words - e.g. AND: i want this AND that => two stories
- generic words - break classes like “vehicle” down into planes, trains, automobiles, bikes, trikes => one story per vehicle type
- acceptance criteria - get specific about what general adjectives mean (romantic dinner becomes candles, entrees, music, wine, dress, etc) => as a <stakeholder>, i want <acceptance criteria>, so that <value created>
- timeline analysis - identify steps in timeline... i want to checkout becomes i want to see my cart, confirm items and prices in cart, enter shipping info, enter payment info... => as a <stakeholder>, i want <timeline step>, so that i can <keep moving toward value> ...and also... as <someone with stuff in my cart>, i want <a shopping cart icon on every page>, so i can <start the checkout process from anywhere>.