This one’s an oldie but a goodie…transformed from an in person activity that used cards into something I’m starting to use with remote team members. I went the low tech route: A spreadsheet in Sharepoint, but I’ll bet there’s potential for something cooler like a web app out there…Enjoy!
Overview:
This is a tool teams can use to estimate a batch of many user stories, instead of calling for an estimation story by story during refinement.
In Phase 1 of the game, Team Members order all stories in the the batch from Lowest Complexity to Highest Complexity.
In Phase 2 of the game, Team Members assign complexity points, using Fibonacci numbers.
Items Needed:
- A spreadsheet similar to the one attached, stored in a place where all team members can access and edit it simultaneously. Think Sharepoint, Google Drive, etc. where you can edit together in the web browser.
- A conference call or video chat with all the team members connected.
The Setup:
- Start with a spreadsheet like the one attached, or as seen in Figure 1 below.
- Add all stories to be Estimated during this session into the “User Story Pool” Column
- Populate the Fibonacci Sequence Column
Figure 1: The initial board with the user stories to be estimated.
Phase 1: Rank Low to High
Each Team Member will take a turn, rotating in the same order until all stories are ranked from lowest complexity to highest complexity.
During a Team Member’s turn they may either:
- Place (Cut or Ctrl+X) one story from the pool into the Low to High column OR
- Re-order one story that’s already been placed in the Low to High Column
Once all stories have been ranked (as seen in Figure 2 below), allow each team member to take one more turn to re-order any additional items. Additional re-ordering turns can be allowed if needed.
Figure 2: Stories Ranked from Low to High Complexity
Phase 2: Assign Points
Each Team Member will take a turn, rotating in the same order until all stories are pointed
During a Team Member’s turn they may either:
- Place (Cut or Ctrl+X) one Fibonacci card (point value) into the “Estimate” column OR
- Re order one Fibonacci card that’s already been placed in the “Estimate” column
Placing a Fibonacci card adjacent to a User Story indicates the estimate of that Story AND ALL STORIES ABOVE IT.
Ex: Looking at the “Complete Board” in Figure 3 below, US0003 and US0007 are estimated at 1pt, US0008 and US0002 = 3pts, US0005 = 5pts, etc.
Team members should start with the lowest Fibonacci number they can for the ordered stories, and work their way up sequentially.
Figure 3: The complete Board ranked and estimated.
Wow!
Would you look at that! Your team just estimated a whole bunch of stories in one shot! Great job team!
Have a story that couldn’t get estimated, or one that was estimated at a really high point value? Maybe it doesn’t meet definition of ready, or needs more refinement. No worries! Now we know!
Why I like this activity…
This tool helps teams:
- See how complex stories are relative to other stories, which may increase accuracy, and can help break the slump of estimating a lot of stories at the same complexity
- Uncover stories that need further clarification or refinement
- Spend less time on the stories that are well understood
- Spend more time on the stories that need more refinement
- Potentially spend less time on estimation overall, while still estimating
effectively.
Some last minute notes before I go…
I’ve had some confusion pop up while conducting this activity. Here’s some notes:
- This Activity’s sole outcome is to gather estimates in velocity points (Fibonacci numbers) for any number of stories.
- This Activity does not prioritize stories, though it may influence priority by identifying stories that are not ready to start, or based on the new knowledge of complexity vs. value.
- This Activity does not indicate a Sprint commitment has been made.
- Conducting this activity remotely can be challenging since you miss out on physically seeing people place cards. You might consider having people announce out loud any moves they make, and when they are done.