Monday, 2 November 2009

Why Track Features than Tasks?

Over the last 6 months of rigorous development effort and the subsequent time pressures on the Team... We had to revise the Prime Directive... not only that we moved away from tracking tasks and User stories to track features... Core reason being that we realized a lot of time gets spend when you track tasks ... a simple example is here....

To develop Message as a feature....we split it into User Stories and User Stories into tasks.. then in Iterations we try to control, manage and track tasks... eventually the bigger picture is always lost when you track the micro items..

So Ideally sending a Message notification within the app can be broken into logical pieces as:
1. List Incoming Messages
2. List Outgoing Messages
3. Create Message
4. Add recipients to Message
5. Add Documents to Message
6. Forward
7. Reassign
8. Import
9. Export
10. Print

Then we split the High level User Stories into detail tasks ... like:

1. List messages where you are recipient in To
2. List where you are on copy
3. List where you are in to/cc through a group
4. List overdue messages
5. List from favourites
6. List with sort capabilities
7. List with filters

At a certain level you go more deeper and define ...

1. List messages where you are recipient in To
A. Define JSP
B. Define Grid
C. Define XXX Classes
D. Define Query
E. DAO
F. Blah Blha

eventually the deeper the task break down the better for the developers... but do the deeper task break down really help the Product Owners? Answer is NO.. they dont. A Lot of time developer break down of tasks are irrelevant to Product Owners... or to Project managers too... what counts is the progress on where we stand at the end of the Iteration in terms of features.... by count, by functionalities or by usability...

What works and why ?
Track Tasks in the beginning of the project,thats where you would want to know the momentum and velocity.

Track the features towards the end of the Project - that is what will tell you if you are moving right direction mainly towards the end.

I wont help if you know that 10 of the 20 tasks are completed, but it will help when you know that Messages on a whole works with the following features and the following features are yet to be ready?

Be Agile? Evolve in phases of projects...