Breaking a project’s first User Story in to tasks [closed]

You might want to think of your story as a vertical slice of the system. A story may (and often will) touch components in all of the architectural layers of the system. You might therefore want to think of your tasks as the work needed to be done on each of the components that your story touches.

For example, Let’s say you have a story like In order to easily be able to follow my friends’ tweets, as a registered user, I want to automatically follow all of my gmail contacts that have twitter accounts.

In order to accomplish this, you will have to pass through the UI layer, service layer, persist some data in the data layer, and make an API call to twitter and gmail.

Your tasks might be:

  • Add an option to the menu
  • Add a new gmail authentication screen
  • Add a twitter authentication screen
  • Add a contact selection screen
  • Add a controller that calls into your service layer
  • Write a new service that does the work
  • Save contacts to the database
  • Modify your existing gmail API calling service to get contacts
  • Add a twitter API calling service to follow selected contacts

There: That’s 9 possible tasks right there. Now, as a rule, you want your tasks to take roughly 1/2 a day to 2 days, with a bias towards one day (best practice, for sizing). Depending on the difficulty, you might break down these tasks further, or combine some if they are two easy (perhaps the two API calling services are so simple, you’d just have a modify external API services).

At any rate, this is a raw sketch of how to break the stories down.

EDIT:

In response to more question that I got on the subject of breaking stories into tasks, I wrote a blog post about it, and would like to share it here. I’ve elaborated on the steps needed to break the story. The link is here.

Leave a Comment