Thursday, November 12, 2009

#20 Prioritising Non-Functional User Stories

Symptom: Technical or non-functional user stories are not prioritised effectively when compared to functional user stories leaving the team to make their own judgement calls on when to incorporate them in a sprint. This can lead to subversive behaviour in a team if they feel that the product owner is not taking them seriously enough.

Probable Cause: The product owner can relate easily to functional user stories relating to the client domain for example, but may not be able to see the importance of non-functional user stories, which may be technical in nature and outside of their skills and knowledge.

Suggested Resolution: Try adding a client value and a tech value number to the user stories that can be estimated in a similar way to user story points prior to prioritisation. The client value is a rating to indicate the relative importance to the client in terms of delivered functionality, whereas the tech value relates to the importance to the team to complete the story to improve the code architecture or to avoid technical debt for example, which may not be immediately clear to a product owner.

Adding these two extra ratings may help the product owner to see the relative importance, even if it is a rough guide, of a story whether it is a functional or a non-functional story, and be able to make a better judgement call when prioritising them.

For more agile coaching options, check out agile coaching