When talking about Scrum you often hear that the sprint backlog should be broken down into tasks no greater than 16 hours in size. The reasoning behind this, in my opinion is to force the team to breakdown things. I know of several teams that decide on even lower limits. And even if you do not estimate the size in hours because you only burn down the number of tasks in the sprint it is still common to have some kind of guideline for a maximum task size. And there are at least three good reasons to break things down into small things.
- In my experience, the more things you break something down into, the larger the total gets. The positive side of this is that things tend to get larger as a whole because when you break things down you remember to take all kinds of small things into account. The only real downside with this is that each estimate will probably include some buffer. On the other hand people generally underestimate things a lot so breaking things up often adds the "buffer needed" to get everything as a whole completed. And I think this is a better way than just having a fudge factor (i.e.multipying everything with some constant) since each task adds value when it says what to do. A fudge factor does not tell you about all the small things to remember.
- Jeff Sutherland has pointed out a few times that teams that burn down stories tend to perform better (example). I think the next best thing is burning down the number of remaining tasks. And with smaller tasks you'll get a steady progress each day since each team member will be able to complete one or two tasks each day.This will make the motivation for burning down hours less of an issue since the task number burn down will be virtually identical to an hour burn down with slightly bigger tasks. Also not only the burn down will reveal a flow.
- As a team member working with tasks that takes around a day to complete you can find yourself in one of two very stimulating situations. Either you complete a task each day before you go home which leaves you with a nice feeling of satisfaction each day. I personally like this very much since it means I can start with whatever is necessary the next morning, a new task or something else that has come up. The other situation is that you complete a task during the day and starts working on something new. I think this leaves you with the same kind of satisfaction of completion but also the warm feeling of knowing what to start working on the next morning.
There a certainly more reasons for why you should break things down into small tasks and probably a few why you should not do it. Even though I think the key when looking at when not to make small tasks is more of a when thing. Breaking things down into one day tasks and then saving it for half a year and then start working with them is not a good idea.