What Is a Spike Story in Agile?
Part of the Agile methodology is the idea that user feedback should aid in the process of software development. Customer feedback should, therefore, inform much of the work an Agile team undertakes, from tracking and fixing bugs to improving the user experience. A user story, therefore, is a small unit of work in an Agile workflow that was prompted by user feedback.
However, what happens when the solution to a user story isn’t immediately clear? Teams might need to spend a period of time researching or breaking the story into smaller parts. That time spent preparing to work on the story is called a spike story, and the time is allocated by the product owner ahead of the sprint.
A spike story in Agile is a user story that needs more information so the team can estimate how long the story will take to complete. Agile teams typically have a set amount of time outlined for spikes, which is why spike stories are often referred to as timeboxed investigations. Sometimes spike stories in Agile can be investigated in less time than the timebox, and sometimes spikes need more time than has been allotted. In this case, team members need to report the outcome of their investigation to the rest of the team, even if they will need more time to finish the investigation.
When considering how to write a spike story, it’s important to remember that spike stories should seek to answer a single, specific question, rather than multiple questions or a vague piece of information. If you need to find out more information about multiple questions, you should split the spikes to address each of these individually.
The goal of a spike story in Agile is not to determine the solution to a story, but rather to determine an estimate for how long the original story will take to complete. Spike stories might require team members to spend time splitting a story into smaller stories if the original user story is too large or complex, or it might require a team member to build an experiment to gather more information for the estimate.
Spike stories in Agile can benefit teams by enabling them to move forward with their sprints after properly estimating the time needed for completing stories, allowing the team to create more accurate user stories. Spike stories should also reduce waste and increase the team’s understanding of a user story.