Guest post by Adam Kowal
Hey Scrum Master – I know you’ve got a wonderfully groomed backlog. Great job! You may even have a predictable velocity. Super! The team has moved the right amount of product backlog into the sprint backlog and you’re ready to go. Right? Not so fast.
You still need the self-managed agile team to assign tasks and hours to each of the stories, and “oh boy” engineers, UX, QA and Ops folks love nothing more than sitting around a room watching someone perform software gymnastics in the form of data entry.
What if there was a better and more engaging way to complete this step in the agile process?
As we implemented Agile at Intuit QuickBase we were presented with the same challenge. As a Scrum Master I wanted the team to be fully engaged and openly discussing the “right” tasks to complete each story and assign a fast and loose time estimate. I also wanted them to feel ownership and control over the tasks. But – I also didn’t want to waste their time by forcing them to watch me enter the data into the “tool” real time. With those guidelines in mind we created the “Task Mapping” exercise.
Task Mapping is quite simple and logical. To start off – the entire meeting takes place on the white board and is completely unencumbered by software.
Step 1: Agree to the sprint duration and the number of “work hours” in a week (write this anywhere on the white board).
Then create a grid with the story ids you’ll be tasking in the far left column and the names of the team members in each of the columns to the right until you run out of team member names. Above each name write the number zero. The zero represents how much time each engineer has been assigned to the sprint so far…when you start…everyone is at zero.
Step 2: Now review the story again quickly asking if anyone has questions before you begin. At this point, you should start timing the conversation.
Then explain to the team that for each story they’ll need to work together “out-loud” defining the tasks needed to complete the story. A good facilitator can come in handy here to keep the meeting orderly, but not limiting people’s ability to express themselves. Each person is then responsible for tracking what task and how many hours they will personally need to spend on each story. To do this, we created the “ticket” system using sticky notes. When a team member creates their task they need to quickly write down the story id, their name, the task and a rough estimate on the number of hours. Some team members may have 1 task, some may have 10 and some may have 0. In any case – each team member walks up to the board and places their sticky in the correct location on the grid corresponding with their name and the story id. Remember – each team member is ONLY posting tasks on the board that they are personally signing up to complete. (Special Note: Unless you force it, people will forget to account for meeting time related to the sprint. Please remind team members to include tasks like “meet to review the doc” or “meet to make decision on ABC”. ) Also – once all the tasks are accounted for stop the timer. Keep a record of how long it took the team to arrive at a completed list of tasks for each story and use this as a baseline to improve against going forward (think “continual improvement”)
Step 3: Once the team member posts their sticky on the wall they’ll need to mark the number of hours they just committed to at the top of the grid.
Each team member is accountable for keep a running tally of the number of hours they are committing to so as not to exceed the number of “real” hours available in a sprint. If someone is getting overloaded you’ll do the team a favor spreading that work out across people who are not as booked.
Step 4: Rinse and Repeat
Two stories down looks like this:
Five stories down looks like this:
Step 5: DONE. Task Mapping Complete
DONE looks like this:
One more thing: If you have not yet done so, this is the perfect time to enlist the help of the PO to construct a succinct “sprint goal” and ensure everyone understands it. Write this at the top of the board in your scrum room (if you have one). Then have each team member peel all the sticky notes they wrote from the board. Give them a “time boxed” period to enter the tasks into your Agile software tool of choice. And you’re off!
A huge advantage of this method is that it is a highly interactive ceremony. It gets the team comfortable with the upcoming effort, a shared understanding of each other’s roles and provides a sense of ownership as they’ve written their own work orders! Moreover – it is a fantastic team building exercise as they work in unison to complete the grid together. I look at it like “the tribe has spoken and this is the work they are going to do”.