Contents

Estimating Story Points using Affinity Estimating

Documents some techniques you can use to estimating in Story Points using Affinity Estimating.

Documents some techniques you can use to estimating in Story Points using Affinity Estimating.

Written in 2016-2017:
This is part of a series of articles that I originally wrote in 2016-2017 and were only published on private internal company wikis. I am publishing them publicly for the first time in 2019, here on my blog.

Written for Microsoft’s VSTS:
Some content is written for Microsoft’s Visual Studio Team Services (VSTS), as it existed in 2016-2017. VSTS was renamed to Azure DevOps in 2018 (
WikiPedia).

Learn More: 

Real Examples of How Fast Affinity Estimating Is:

Work Items Estimated Per Minute Average Estimated Per Hour Total Work Items Total Hours to Complete Number of Teams Team Types

2.1

126

197

1:35

4 Cloud DevOps

2.9

174

881

5:05

5 Software Development 

Comparison to Estimation Poker:

Estimation Poker can make 5-10 minutes PER work item.  Here’s an example of how long it could take:

Minutes Per Work Item Work Items Per Hour Total Work Items Total Hours to Complete
5 12 197 16:25

Why Affinity Estimating Works So Well:

  1. Leaves the numbers out of it.
    • Making decisions about assigning numbers allows Affinity Estimating to be so fast and accurate.
    • This is because estimating numbers is the most difficult thing to do.  
    • And so by removing numbers from the conversation, it makes it easier and much faster.
  2. It’s highly facilitated.
    • So the Scrum team can focus on thinking and acting, and isn’t slowed down by process or tools.
  3. It uses face to face interaction.
    • Face to face collaboration is always much much faster and more effective.
  4. It uses physical objects.
    • Working with physical objects like hundreds of cards on a very big wall, is much faster than could possibly be done with a small computer screen with software.

Affinity Estimating Overview:

A fast and effective technique for Story Point estimating, known in the Agile community as Affinity Estimating.  It is dramatically faster than Planning Poker.  Affinity Estimating consists of techniques that are done with physical objects like paper, tape, markers and walls, and so it cannot be done virtually nearly as effectively or as fast.

During the course of the Affinity Estimating meeting, the team arrives organically at a consensus on what their team’s Story Pointing scale would be.  The Story Points are based on the Fibonacci sequence which is the standard Scrum scale for pointing.  

Assigning Story Points to work is the last step in an Affinity Estimating Workshop, because making decisions about assigning numbers is one of the reasons why Affinity Estimating is so fast and accurate.  This is because estimating numbers is the most difficult thing to do.  And so by removing numbers from the conversation, it makes it easier and much faster.

Guidelines for Affinity Estimating Facilitator:

For the facilitator to be as effective and objective as is possible:

  1. Should NOT be a Scrum team member who will be executing the work.
  2. Should be a Scrum Master or Agile Coach.
  3. Although not ideal, a Scrum Product Owner could be the facilitator.  As long as 1. is not true for them.
  4. DO NOT allow the team to talk about numbers.  Numbers are the very last thing you will do.  By removing numbers from the conversation, it makes it easier and much faster to estimate.  This will be clearly once you read and go through the steps below.

Affinity Estimating Step By Step:

These steps are based on in the field refinements over 2-3 years.  They may differ slightly from other Affinity Estimating you may read about elsewhere, and that’s because these techniques have proven to work the best.

1. Preparation  
1.1.

Print Cards:

Print Stories and Bugs from VSTS that your team will be estimating, on to cards.

 
1.2.

Create Signs:

Write signs on separate pieces of paper, with these labels:

  • <— Smaller
  • Average
  • Larger —>
  • XS
  • S
  • M
  • L
  • XL

Hint: XS, S, M, L, XL are T Shirt sizes you will use later in the exercise.

 
1.3.

Gather Supplies:

  • Lots of tabletop tape dispensers
    It will go much faster with more dispensers.  And don’t use the small disposable handheld kind, those will slow you down.
  • Lots of multi-colored markers.
  • A conference room.
  • A big wall.
  • A whiteboard.

1.4.

Prepare Cards:

Spread the Story/Bug cards out on the conference room table and put a piece of tape on the top of each.

 
2. Estimating Pass 1  
2.1.

Signs as Directions:

Facilitator – Put signs on the wall to group Stories into: 

  • <— Smaller
  • Average
  • Larger —>
 
2.2.

Baseline:

Choose several Stories as a baseline.

  • 2-3 average
  • 2-3 smaller
  • 2-3 larger

These will act a baseline to compare other Stories with.

 
2.3.

Silent Placement:

Team members select Story/Bug cards from the table that they recognize and tape them on the wall.  

Place on the wall according to these guidelines:

  • Place the card you have, near other cards that it has an affinity, or relationship or similarity, with.
    • If the card is smaller than another card on the wall, place it to the left of it.  
    • Or to the right, if it’s larger.
    • Sidebar:  This is where Affinity Estimating gets it’s name.
  • Average sized under Average sign.
  • Smaller sized to the left.  The smaller they are, the further left.
  • Larger sized to the right. The larger they are, the further right.

No discussion should happen yet – this allows this step to be done very quickly.  Hence the name for this step:  Silent Placement

3. Estimating Pass 2  
3.1.

Refine the Size Groupings:

Facilitator now helps the team refine the smaller and larger Story/Bug cards in to more size groups by:

  • Asking the team questions about the cards.
  • Look for natural groupings, and ask questions to uncover more distinct groups.
  • Goal is to divide the cards in to at least 5 distinct size groupings.
  • Break <— Smaller and Larger —> in to 2 more groups each = total of 5.
  • More than 5 size groupings is OK, but keep it to no more than 7.  This is because too much detail is more difficult to work with on this scale.  Less is more.  Also a level of precision beyond the 5-6 Fibonacci sequence numbers is overkill.
  • The next pass explains why.
 
3.2.

Active Placement:

  • Have everyone stand up and work at the wall.
  • Everyone now discuss the cards.
  • Each person should review all the cards they placed on the wall.
  • Ask your teammates questions.
  • Move cards around to new places based on new thinking and ideas.
  • Refine their placement in to at least 5 distinct size groupings.
 
4. Estimating Pass 3 – Final pass  
4.1.

Assign them T Shirt sizes:

Once you have at least 5 distinct size groupings, replace the signs with T Shirt size signs.

  • Replace: Average  –  with  –  M
  • Replace: <— Smaller  –  with  –  S & XS
  • Replace: Larger —>  –  with  –  L & XL
 
4.2.

Final Active Placement:

  • Have everyone stand up and work at the wall.
  • Everyone should do a final review of the card placements.
  • More discussion among team members should happen.
 
5. Put Numbers on it  
5.1.

Now it’s time to put Numbers on the Whiteboard:

Facilitator should write these Fibonacci sequence numbers on the whiteboard:

1, 2, 3, 5, 8, 13, 21

 
5.2.

Assign a Number to M – Medium:

  • Facilitator asks team which number should be M – medium.
  • Point out to team that wherever they put M on the number sequence you wrote on the board, they will need at least 2 on both sides of M.
  • IE.  If M = 5, then S = 3 & XS = 2.  Leaving 1 as some room to go smaller in the future.
 
5.3.

Assign Numbers to all T Shirt Sizes:

  • Write the T Shirt size below each number.
  • Using multi-colored markers, mark each size in a different color.
  • You will use the color coding to mark the cards, to save time later.
 
5.4.

Largest Size that can fit in 1 Sprint:

  • Facilitator asks team what is the largest size Story that they can complete in 1 Sprint.
  • Draw a line on the board to the right of that size.
  • Anything larger than that, must be broken down into smaller Stories, before it can be planning in a Sprint.
  • All Stories too large, should be broken down by the team ASAP and there sizes estimated.
 
6. Wrap Up  
6.1.

Color code the cards:

  • Using the unique marker color you used above for each size, put a color mark on each card in each size grouping.
  • A simple mark is just fine.
  • The color code is used to identify the number in Story Points of each card.
 
6.2.

Take Down Cards:

  • Take each card off the wall.
  • Fold the tape around and stick it to the back of the card.  Otherwise the cards will become a big stuck together mess.
  • Stack the cards in each size together.
  • Write the number assigned to the size on the top of the stack in the same color of that size.
  • Take a photo of the whiteboard, or write it down, to note the T Shirt sizes and numbers assigned to each size, and the color of each.
 
6.3.

Data Entry:

  • Enter the Story Points in to VSTS for all of the cards.
  • Suggest the facilitator ask for volunteers from the team and give each volunteer a stack of 1 size.
 
6.4.

Share the Results:

  • Facilitator should document and share the results of the workshop.
  • It’s especially important to share the Story Pointing Scales decided by the team, so they can use this scale consistently going forward.

Additional FAQs and Tips:

Q:  Can we change the Story Points later ?

A:  Yes.  

  • You can change the Story Points at any time you want, all the way up to the Story being planned in to a Sprint and the Sprint started.
  • Once the Sprint starts, never change the Story Points ever again.
  • This is because Points are essentially to reporting, so changing them after a Sprint starts will break reports.
  • If fact, the ScrumMaster and Coach should encourage changing Points whenever the team wants to change it, because they learned something new.  
  • Re-estimating should be done as a team, NOT individually, so the team can discuss it and ask questions.  The accuracy of estimates are better when they are done as a team.
  • The team can vote on a new estimate using the Fist of Five technique.
  • The team could re-estimate using Estimation Poker.

Q:  Should we use person days or hours as points ?

A:  No.

  • It’s not needed at this level of estimating.
  • It will make estimating much more complicated and time consuming.
  • You’ll be wasting time by duplicating effort, because the Scrum team will do person hour estimates on Tasks when they do their Sprint Planning.

Q:  How do I print out cards from VSTS ?

A:  I’ll document that in Jive later.  

Need an Agile Expert ?

Looking for an expert in Agile Coaching, developing & leading Agile transformations, Agile tools, DevOps strategy and Scrum ?

Send me, Ken Adams, a message on LinkedIn and let’s talk.

Subscribe

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

%d bloggers like this: