Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

At the beginning of each sprint our team will pull in a handful of user stories and then, one by one, write slightly more detailed tasks for them as well as assign specific hours to each task.

Having individual tasks helps us establish our sprint burn-down by having a specific total number of hours up front, as well as make it more feasible to keep track of who's working on what and what all has been completed.

However, I recently read that some mature Agile teams have eliminated the use of writing tasks altogether and head right into their sprints armed only with their user stories as the modularized sources of work for the sprint.

I'm having a hard time seeing how eliminating task planning could still provide an Agile team with small enough units of work so as to keep the sprint organized and transparent. Has anyone here tried or use this approach and if so how do you keep track of exactly who is working on what?

share|improve this question
    
By "assign specific hours to each task" do you actually mean hours, or story points? –  jcmeloni May 2 '13 at 13:01
    
I actually mean hours for the tasks, we assign story points for the user stories –  KodeKreachor May 2 '13 at 16:21

3 Answers 3

up vote 6 down vote accepted

Our team actually does it both ways, depending on the user story. Well, we actually still do one big task called "Fix it" or something, so the burndown chart will still work on our tool.

The difference for us is how easy it is to predict the tasks in advance. For example, we do embedded software, and whenever we have a brand new board to get booting it's very difficult to predict the individual parts, but by experience we know how long it usually takes for everything together. One time the clocks might be perfect but some power rails are unstable, the next time it might be the other way around.

Also, some teams break their user stories down into smaller parts than others. Our team averages around 12 per sprint. Other teams at my company average 3 or 4 per sprint. The smaller your stories, the less you need tasks.

It boils down to choosing what works best for the style of your individual team. If you can't imagine working without tasks, that shouldn't make you feel inferior. On the other hand, if you feel like tasks are a hindrance, you should feel free to discard them.

share|improve this answer
    
I made similar experiences. In some situations, tasks can be helpful, but creating them also takes time, and it's often tricky to get them right, so it may not be worth it. –  sleske May 3 '13 at 21:32

I've worked on the 'big picture' thing with an Agile team before - work beautifully. We spent all our time doing work, rather than doing the process planning and task creation and project organisation.

You should try it, its amazing what you can do when you step away from the proscribed processes.

Naturally, it depends on you though - if you need tasks to make you productive, then keep doing them. If you don't need tasks to be productive, scrap them immediately. Isn't that the spirit of Agile?

share|improve this answer
    
"it's amazing what you can do when you step away from the proscribed processes.": Does this also apply to such practices as grooming meetings, daily meetings, etc? –  Giorgio May 2 '13 at 14:39
    
all of them. The matra for Agile is "what works for you" because the documented methodology was written down for a different team - not yours. All the agile systems out there should be used as a start-point set of guidelines. Use what helps you, scrap what doesn't help you. The thing to remember is that these processes are not the end-result of what you're trying to do, they are there to hopefully help you, that's all. When you "do scrum" you're still actually trying to deliver products, not manage the scrum process. When that process becomes more important than the work, you know its wrong. –  gbjbaanb May 3 '13 at 8:34
1  
I agree with you but I am not sure many SCRUM proponents would: daily meetings, retrospective meetings, grooming, seem to be a fixed part of the methodology and you even get training and certification on how to do them. IMO many agile proponents are much less agile than they claim to be. They are more interested in selling the methodology, gadgets like poker cards, books, training, certificates, and so on. –  Giorgio May 3 '13 at 8:46
    
Different things work for different people. But don't mistake agile being the lack of structure - agile is, or at least can be, about structure, but as the name says, a structure that makes it easier for us to actually be agile (or be both agile and productive). –  Ilari Kajaste May 29 '13 at 4:40

It all depends on how the team wants to manage its time and consume stories, and how well that works for the Scrum Master and other management staff that care about metrics.

Task breakdown is a good way for a team to verify the original estimated complexity of the story (usually estimated way back in a "milestone planning meeting" given only a high-level view of the requested features), and to plan out the division of labor based on the various "critical paths" through the stories in the sprint backlog. By breaking the stories into tasks, you can see your progress from day to day on a burndown chart, without having to log actual hours spent and estimated hours remaining on each story; when the task is done, those estimated hours come off the top, and the results are the same as if developers were constantly inputting estimated remaining time (and who wants to be doing that all day?).

It's useful to the point of necessity in two common situations:

  • Your team's "hours per point" metric is greater than a developer-day. If one developer would regularly report that they're working on the same story for two or more standups, then to get an idea of progress from day to day through the sprint, it's virtually a requisite to describe that progress in terms of smaller pieces of the larger story (just like most everything in Agile is described), i.e. tasks. Otherwise, if a developer was assigned a story that will take him the entire iteration to complete, then his story's points value just sits there in the burn-down until the last day, when he either makes or breaks the sprint.

  • Two or more developers will be working on the story. If two developers have to divvy up the work, then it's critical that they break the work down into chunks that they can share between them, to avoid both of them doing the same work or neither of them doing something important.

Now, if the nature of the stories that your team regularly brings into a sprint is such that one developer could complete at least one a day, then that baseline for a "one-pointer" means that a points-based burndown makes more sense, and task breakdown is less of a concern. Your stories are already "bite-sized", either by doing a story breakdown of larger work or simply because you're in "maintenance mode" and only small incremental changes are being requested, such that even if you only report completed stories, your burndown will pretty accurately reflect remaining work.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.