A Spike Story Should Get Story Points Too

Assigning Story Points to each Spike Story Improves Epic Planning Accuracy

In Scrum, we have a special type of Story called a Spike. The Product Owner or another team member writes a Spike Story when the team does not understand the requirement well enough to write a Story or architect a solution.

The Spike Story requirement describes what the team needs to learn or test before they can move forward with product development. Since all Stories must add value, the Spike acceptance criteria describes what must be completed or decided to provide closure. 

Example Spike use cases could include:

  • Install and become familiar with a new software tool.
  • Compare and analyze two similar architecture solutions in order to choose one to move forward with.
  • Research a long-standing issue or bug before designing a solution.

Why Write a Spike Story?

Scrum expects that the Development Team knows enough about the Story requirements to size the level of effort in Story Points to deliver the solution within the Sprint. When the team does not understand enough about how to develop the solution, the team acknowledges the fact and writes a Spike Story for the Backlog.

Use the power of the Spike sparingly. A Spike Story is not the same as Analysis and Design, which should be part of the lifecycle of every Story. A Spike Story has an outcome that allows the team to move forward with the real Story. In addition to the learning goal as acceptance criteria, another good practice is to add acceptance criteria that includes writing the successor Story and putting it in the Backlog as candidate for next Sprint.

Why Assign Story Points?

Most who practice Scrum do not assign Story Points to Spike Stories. We at GSD Mindset disagree. The output from a Spike Story is increased team knowledge that leads to better overall solution design. By assigning Story Points to a Spike, you also limit the level of effort expended to close it, so the team doesn’t get lost down some rat hole researching a new tool or attempting to resolve an issue.

It’s About Predictable Velocity for Planning

Energy expended to complete a Spike Story takes away from available energy spent to complete another Story from the Backlog. We at GSD Mindset believe everything brought into a Sprint should have Story Points, so you can better predict the total amount of work the team can complete within the Sprint.

Since Velocity is also used to estimate the length of time required to build an Epic, any background research or creation of small prototypes to try out potential solution architectures should be included in all planning estimates. Assigning Story Points to Spike Stories and including those points in the overall estimate for the Epic helps increase the accuracy of your team’s estimated time to completion.

What are your thoughts? Does your team size Spikes?

 

 

Cynthia Kahn

Cynthia Kahn

 

Cynthia Kahn
CynthiaK@gsd.guru  503.799.5500

read more

Agile Scrum Story Size for Newbies

An Easy Way to Estimate Agile Scrum Story Size for Your First Sprint

Your team is new to estimating Agile Scrum Story Size. You planned for your first release as discussed in Why Your Scrum Team Needs a Release Plan. Your Product Owner wrote Stories that meet the criteria described in Write Better Stories and Why Every Story should have Acceptance Criteria. You have candidate Stories for your first Sprint Backlog.

You are ready for your first Story Grooming Session.

Two activities occur at Story Grooming:

  1. Review Stories for clarity, to ensure everyone understands the requirement.
  2. Assign a relative Size to each Story, so your team can begin tracking Velocity.

Your team should be able to decide whether or not the Story makes sense. However, deciding relative Story Size often causes consternation for new teams. Most teams are happy to move away from estimating work in hours. But, when you are new to the concept of relative sizing, it’s hard to know where to start.

Some are taught to use tee shirt sizing: Small, Medium, Large and Extra Large. But, that doesn’t quite help assign a numbered-size, does it?

Many are taught to assign Story Points based on the Fibonacci Sequence: 1, 2, 3, 5, 8, 13, 21 … We are taught that each number in the sequence represents twice the level of effort as the previous number. But, that doesn’t really help either.

In Agile Scrum, we learn that accepted Stories must be validated as ready to move to Production. Therefore, the level of effort for each Story must take into account the complete development lifecycle, from design to spec to code to code review to quality assurance testing.

Start with the Development Lifecycle

At GSD Mindset, we teach newbies to initially size Stories using the Fibonacci Sequence based on their gut feel for the level of effort required to complete development lifecycle aspect of each Story.

We recommend the following guidelines to help new teams get started:
Size the Story based on the effort it takes for 1 Developer and Tester to complete it.

For a two-week Sprint:

If the team thinks the Story takes 1-2 days of effort, assign 1 or 2 Story Points
If the team thinks the Story takes about a half week of effort, assign 3 Story Points
If the team thinks the Story takes about a week of effort, assign 5 Story Points
If the team thinks the Story could take the entire Sprint, assign 8 Story Points

If a story is larger than 8 Story Points, divide it into multiple Stories. We do not recommend bringing a Story larger than 8 Story Points into your two-week Sprint.

Use an easy method for group estimating like Planning Poker to reach consensus.

When discussing individual estimates, always question extreme high and low estimates. We all know that some requirements are quick to code, but complicated to test. If the team has trouble deciding, error on the side of caution, especially for your first Sprint.

If the Story is not well understood or cannot be sized, 3 things should happen:

  1. Update the Story and Acceptance Criteria to be clear
  2. Break down large Stories greater than 8 Story Points into smaller Stories
  3. Place vague Stories back into the Backlog for refinement

How Many Story Points for Your First Sprint?

If our initial sizing method dictates that it takes a Developer and Tester an entire two-week Sprint to complete an 8-Point Story, we recommend the team bring in 8 Story Points per Developer. For example, if the team has 1 Tech Lead (who doesn’t code), 4 Developers, 2 Quality Assurance Testers and 1 Business Systems Analyst, bring in 32 Story Points.

Then Develop Your Own Method of Story Point Estimates

After one or two Sprints, review the accuracy of your Story sizes (you’ll only be right half the time) and use the Stories the team feels accurately represent a 1, 2, 3, 5 and 8 as examples during Story Grooming going forward.

Don’t overthink it.

And please, please, please don’t estimate in hours.

I’d be interested to learn how your team got started.

 

 

Cynthia Kahn

Cynthia Kahn

 

Cynthia Kahn
CynthiaK@gsd.guru  503.799.5500

 

read more