Break the rules at your own peril.

Break the rules at your own peril.

I am not really a big rule guy, I would rather think of most structures as a guideline. However, sometimes there are some lines that shouldn’t be crossed.  There are three rules that everyone involved in backlog refinement must remember.  These rules are broken at your peril!

  1. Rule One (originally described in Splitting User Stories: Patterns): Each story must deliver functionality that is potentially implementable. If a story needs to be split or refined, think slice rather than phase or layer. Each story should represent a thin slice of on an onion starting at the outer layer cutting to the core rather than an individual layer.
  2. Rule Two: All formal refinement sessions need to have a clear measurable goal. A goal provides focus for the refinement exercise and provides bounds in much the same manner as an agenda does in a standard meeting. Participants should know the goal for the session (e.g. today we focus on stories supporting the theme for the next sprint) when the session is scheduled so that they can prepare. For example, when I participate in refinement sessions, I try to review the stories that will be discussed so I am not participating to generate questions, but rather participating to generate understanding.
  3. Rule Three: While most Agile exercises include the whole team, participation in a refinement session should be limited. I use the Three Amigos technique to ensure a crosssection that includes a tester, product owner or business analyst and developer. refinement sessions are working sessions focused on making sure stories are understood, properly formed and have initial acceptance criteria. The larger the number of people involved in a meeting, the larger the amount of time that will be spent developing a consensus that will be revisited during sprint planning.

When scheduling a refinement session remember the three rules.  First and foremost, all stories need to deliver value. If a story does not deliver value, consider jettisoning the story. If you are going to schedule a session make sure you have a goal.  Just like the relationship between a meeting and an agenda (no agenda, no meeting), if you don’t have a goal for your session generate a one or reschedule the session. Finally, inviting everyone involved in the project (and a few extra subject matter experts for good measure) is a recipe for death by talking.  Constrain the session to the absolute minimum number of participants. User story refinement is important, don’t mess it up!  If you have to break the rules  . . . well just don’t.