Size is a matter of a frame of reference.

Size is a matter of a frame of reference.

In this entry, we continue to address the questions I received during a recent webinar on User Stories. I felt that it was important to share and expand on the answers that I included in the webinar with a broader audience.  Today’s question:

“As an oversight person to a DoD contractor, I’m interested in what to do to increase consistency of sizing user stories.  Tips and tricks that seem to help would be great to hear.” 

There are two basic strategies for increasing sizing consistency:

  1. Use industry-defined size metrics, like IFPUG function points, and
  2. Use a frame of reference.

The best answer to this question is to use industry-standard software measurement techniques, such as IFPUG Function Points.  There versions of this measure that can be applied to user stories to consistently derive a value for functional size.  For example, Quick and Early Function Points is a technique that identifies function points based on the subject and verb in a user story.  The accuracy is high when compared to a detail count after the code is developed. Function points, whether IFPUG, COSMIC, Mark II or NESMA, are all based on a set of published rules that a assure consistency.  

Making story points more consistent is problematic.  As I have noted in the past consistency is challenging in environments where team composition is dynamic. However there are steps that can improve consistency.  Begin by training the entire team on story points.  The training should be done as group and include everyone on the team, regardless of whether they have had the training before or their role on the team. Exercises during the training should be designed to ensure that team members gain more insight into each other’s thought process. Note: the training needs to be more than a PowerPoint presentation and must include a hands-on application of story point sizing techniques. Build a story points refresher training into team activities every few months. Training and consistency are linked. Second select two or three well understood features and develop a story point number as team for each of the feature in the sample.  These features will be used to establish a frame of reference when story pointing backlog items.  My experience has shown that having two or three well understood reference points increases the perception of consistency.  A final note on improving story point consistency is to remember to involve the whole team in developing the story point number for the user stories (product owner, Scrum Master and development team) and consider an outside coach for to ensure the process of setting story points is done in a collaborative manner.  All of these suggestions can be used to support large programs with multiple teams, however consistency will be reduced with every added team.

Two cautionary notes:  In order to apply any of these methods you must learn the rules or techniques and you must have well-formed user stories (the adage garbage in, garbage out holds). Second, recognize that in Agile, user stories are actively being interpreted, groomed, split and added to during the project.  The size of a story can and will change as it is interpreted and accepted into a sprint. 

Consistency requires rules such as those published for IFPUG Function Points (an ISO Standard) that everyone involved in the process can learn and apply.  When using relative measures, i.e. story points, consistency can only come from training, stable teams and a good set of reference points.  In both cases, consistency must be tempered with an understanding that the team will gather more knowledge about what they are creating as time goes by, which might affect the size of what is being delivered.