Saturday, December 01, 2007

The Importance of Good Task Granularity

On Tuesday's DNR the guys read a letter of mine I'd sent them after hearing a comment on one of their shows about burnout due to a perceived lack of progress when working on vague, esoteric, or difficult features. 

Carl and Richard didn't read my whole letter, which is understandable since they've time limits.  (And no, it wasn't particularly long-winded, either!)  Unfortunately, they left out the main reason I wrote in: The importance of breaking those large or vague tasks into smaller, more concrete chunks, and a creative way to do that. 

My letter included my explanation of how I tried to keep some sanity around a poorly scoped, vague feature I had on my plate during a project.  The feature was estimated at three days and ended up taking three months.  Ouch.  There's a long story behind that, and the huge overrun was largely due to the client making some very sensible changes based on good business decisions for them.

Regardless, I had one feature card that remained on our working wall for three months without any visible sign of progress.  It was frustrating for me since my teammates were wracking up completed features, and I also felt it left upper management the impression that no progress was being made on the feature.

The right thing to do in these cases is go back to the drawing board and rework that feature into a number of smaller, more granular tasks.  You should bring in the client to ensure you're getting the right things broken out and aren't missing any necessary pieces of the larger part.  Those new decomposed tasks should then be broken out as their own features and tracked.

For a number of reasons that wasn't feasible (theory versus real world), so what I did was handle all that myself using one of the best technologies known to mankind: Post-It Notes.

I broke down the larger task into smaller parts and wrote those up on Post-Its.  Those stickies went up on a couple different sheets of paper to categorize their status (limbo, in the queue, working, complete).  I used these Post-Its to help keep me focused on specific tasks as well as reminding myself that I was indeed making some progress while the others on the team were wracking up a large number of feature completion dots each week. 

Small things like green lights on a test or completion dots on a feature chart may seem simplistic or silly, but they are much more significant than you might think.  We all crave satisfaction in some fashion, and these sorts of things help salve that need.

When the Feature From Hell finally got finished I decided a regular dot (we use the round labels) wasn't quite expressive enough of the effort I put in to the feature, therefore I got a marker and made a dot that indicated the significance of the event:

Two important things about this:

1) Break down a large or vague task into smaller chunks so you have better scope and can see better progress.

2) Use some form of BVC to help keep that progress visible.

Burnout due to a missing sense of accomplishment on long, esoteric,  or vague tasks is a real risk.  Help yourself out by doing something, anything to show progress on those tasks.

1 comment:

Tim said...

Had a similar feature recently - we'll refer to it as "Version Add" - that was estimated at 3 days for only the UI...only took me three weeks. It got three red dots in triangle formation... :)

Sadly, I couldn't really break it out, as it was a spaghetti feature...finish one piece, and oh look this next piece requires a change to the one I just finished.

Subscribe (RSS)

The Leadership Journey