Wednesday, April 20, 2011

Product backlog sedimentation pattern

Are some of your stories in your backlog moving down in priority when new stories are getting added daily and getting scheduled for implementation? Are you worried that you will never get to finish the original scope of your project? Worry no more. It is, in fact, a good sign of a healthy project.

"Backlog sedimentation" is a pattern seen on an healthy agile project where some of the high priority stories get pushed down by new stories and or lower priority stories bubble up.  As the project progresses, you start to collect these original stories at the bottom and hence the sedimentation. This is a result of active feedback at the end of every sprint from users and customers as well as the progressive learning of the team about the domain & technology, and the project.

If you are happy that your team is making a great progress towards the original scope because they are diligently working down the list of stories you originally put on the backlog, I have a bad news for you. You are most like not delivering what your customers actually want.

A great sign of a healthy Agile project is an active engagement of the users and customers. The most important sign of actively engaged customer is the quality of feedback that comes out of every review session at the end of each sprint. The outcome of a quality feedback is "new stories" that get prioritized over "existing stories".

Now the flip side of feedback is that you may find yourself only working on feedback and never get to make any progress towards the original goal (not scope, mind you). At least, it may feel like so.  I would argue that it is a sign of either "the project is not well conceived" or "the priorities are not well understood." Either way, it is a time to take a step back and have a conversation with your customers and users.

Ideally the project should reach a harmony between work done based on feedback and work done from the original scope of the project such that the project is moving towards the intended goal. That is the most important job of a successful product owner.

Have you experienced this on your project? Would love to hear how you are coping with this?