Over a million developers have joined DZone.

Agile Grooming — the Randy Rule

Zone Leader John Vester describes his recent sprint with an experienced Agile coach, and how a piece of advice helped him going forward.

· Agile Zone

Reduce testing time & get feedback faster through automation. Read the Benefits of Parallel Testing, brought to you in partnership with Sauce Labs.

Image title

A few sprints ago, we were joined by experienced Agile coach Randy DelPrince from Agile Transformation.  Randy attended several of our scrum meetings to get a feel on the culture, dynamics and flow of our team.  As I've noted before, my team has been in (or very close to) the Performing stage of agile team evolution for quite some time.

The Epics that my team was focused on were tied to the initial release and conversion of a CRM application.  As a result, a great deal of the stories related to basic functionality needed in order to reach a Minimum Viable Product (MVP) deployment.

The team has standardized on using a modified Fibonacci sequence during our grooming meetings.  Given the nature of the MVP-related stories, we often found that we rarely scored a story over a five.  When the occasional five or eight-point stories were estimate, they were associated with research spikes or preparing for the post-MVP phase of the project.

As Randy observed our grooming sessions, he concluded that our team was always very close at providing a single score for each story.  Most of the time, there was only a single difference between the highest vote and the lowest vote.

Image title

My team consists of four developers, two quality analysts and a development manager.  When the product owner finished explaining the story and all questions were addressed, the team would vote on the story.  As an example, when the planning poker cards were raised, there would be five votes for a two and the remaining team members estimating the effort at a one.  At this point, the team would take some time to figure out if the effort was really a one or a two on the modified Fibonacci estimate. 

The Randy Rule

Randy DelPrince, after watching our dialog over a couple Grooming sessions, offered a suggestion.  Given the low value of the story being estimated, he asked if we consider the following logic:

"If the variance between the highest and the lowest score is one level on the Fibonacci scale and the highest number is a three or lower, simply accept the highest estimate."  - Randy DelPrince (Agile Transformation)

Randy's thought was that the amount of time spent trying to reach a consensus is much better spent on focusing on the next story on the list ... or actually completing the story itself.  He quickly added that this logic only makes sense at the lower end of the Fibonacci scale, which in our case is a three or lower.

Now, when we are in our grooming sessions and run into the situation where we have four votes for one-half and three votes for a one (as an example), we simply announce "Randy Rule."  At that point, a one is entered for the story estimate and we move on to the next story.

Image title

In the sprints we have completed since implementation of the Randy Rule, we have completed more stories during backlog grooming or ended our sessions before the scheduled end time.  As a result, we have been able to allocate more time to our primary tasks as scrum team members.  I am a fan of the Randy Rule and hope you give it a try too during your next grooming session.

Have a really great day!

The Agile Zone is brought to you in partnership with Sauce Labs. Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure.

agile adoption,backlog,estimating

Published at DZone with permission of John Vester, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}