I have a few problems understanding the role of Tasks in Jira Agile:
Let’s say you begin a project by coming up with stories to describe the usages and you make estimates in Story Points like this:
Story: Open Bank Account | 4 Story Points
A couple of sprints into the project you decide it’s time to implement the story. Before jumping into Jira, you take some time to break the Story down into tasks and use Story Points to estimate them:
Task: Open Bank Account | Get Customer Details | 1 Story Points
Task: Capture an Image | Validate SSN | 2 Story Points
Task: Open Bank Account | Get Credit Score from Credit Bureau | 2 Story Points
Task: Capture an Image | Validate Visa Credit Card | 2 Story Points
Right off you notice that the total Story Points for the tasks (7) is greater than the original estimate (3). That’s OK; it’s common in an agile process, so you go ahead and create Jira Tasks for the items.
The first thing you notice is that there’s no Estimate field for Tasks, so you configure your board’s Estimation | Time Tracking to Remaining Estimate and Time Spent. Now you can enter time remaining. You realize that time remaining is in real hours, not Story Units, but it’s also common to use real hours for tracking and Story Points for estimates, so you convert to real hours. Let's assume 8 hours for the first Task and 16 hours each for the other three, for a total of 56 hours.
What to do now? I could push both the tasks and the story into the Sprint, but I’m concerned about double counting because I have both the story and the tasks required to implement it in the backlog and both have a duration associated with them (more on this later). In order to avoid double counting, I convert the Tasks to sub-tasks of the Story. That sounds reasonable, given that tasks are defined as a unit of work contained within a story. However, the backlog must be sorted in RANK order to plan a sprint and sub-tasks cannot be seen when the backlog is sorted that way, so those 4 sub-tasks will not be visible during sprint planning – a real inconvenience.
Frankly I can’t see a use for Tasks. Jira Agile defines Tasks as a unit of work contained within a Story, so frankly I’m a little surprised that Jira Agile allows standalone tasks at all.
Once I’ve established a velocity, I can use it to predict the end date by dividing the total estimates of all the issues in the backlog by the velocity. I guess the crucial question is this: Do I consider the estimates on Tasks, or only Stories? What does Jira do?
I have a feeling that it’s the Stories that matter and Tasks can be thought of as “drag”. In the example above I would add both the Story (Open Bank Account) and the 4 Tasks to the sprint. Let’s also assume Open Bank Account is the only story in the sprint, if I was miraculously able to close the 4 tasks during the (2 week) sprint, I would also close the Story and the velocity would be 2 (4 Story Points / 2 weeks). I could then divide the total of all the stories in the backlog by 2 to determine the number of weeks left. Similarly, If I wasn’t able to close all the tasks, I would move the Open Bank Account story and all remaining tasks to the next (two week) sprint. If all the tasks were completed in that sprint, I’d close the Story and the velocity would be 1 (4 Story Points / 4 weeks).
Is this how it works?
Thanks,
Dieter