Monday, October 23, 2017

Give your stories an expiration date

My wife will tell you that I am a hoarder. There's room between my fence and the forest behind my house where I 'store' things we might want to have later.

I say that to let you know - I get why people don't want to throw good stuff away.

Still, I think there's a really good case for adding a Time To Live value to our backlog items. The problem with a backlog - especially those in Jira and similar products is that it seems easy to keep a large number of items. It seems practically free or at least very cheap.

There are these hidden costs though.

Management overhead: When I have a lot of stories I feel compelled to look through them all to make sure I'm not missing something important that should be moved up in priority. If there is high priority work lurking in the depths of my backlog, I must not being paying attention.

Undue Attatchment: I really love some stories. I had the idea, wrote it down, maybe thought up some acceptance criteria and then - nobody cared. I keep the story around because it just seems like a great idea to me. Not only that but I put work into it and don't want to lose that work. Here's the thing, if it's really a good idea it will come back, maybe more than once, in a better form that somebody besides me cares about.

Distraction: Sometimes teams feel obligated to get through the list and will take on stories, not because they seem useful but because they are the right size to fill out a sprint. There's almost undoubtably a better use of that capacity.

I prefer a small backlog - maybe 2-3 iterations worth - of stories that I and the team feel urgency about. Iteration planning should be about the highest priority work not about filling capacity.

If your story goes more than a couple of iterations without making the cut - kill it. The truly good ideas will percolate and come back better when the time is right.

Thanks for reading - Mike