What Is a Spike in Agile?

What Is a Spike?

In agile frameworks (such as Scrum, Extreme Programming, etc.), a spike is a user story for which an estimation cannot be made for the effort required. In such cases, a time-boxed investigation is carried out by the team to learn more about the issue and/or possible solutions. At the completion of a spike, the team has the necessary information to break down features into stories that can be estimated.

When to Use a Spike?

A spike can be used anytime the team does not have enough knowledge to estimate a task properly or to choose the best solution. Following are some examples where a spike can be used:

  • When the problem is unclear;
  • When the story is too complex;
  • When the team cannot agree on a solution;
  • When it is unknown whether the selected solution would yield the expected results;
  • When further investigation or knowledge is required to be able to estimate the user story (or stories);
  • When the team members are unsure that they will be able to complete the story due to some potential blockers or constraints;
  • etc.

Why Should Your Team Use Spikes?

A spike is a great investment into planning that allows the team to gain a better understanding of the problem so that they can plan better, and make informed decisions and reliable estimations. It can prove to be especially useful in helping break down complex problems and gain a better foresight into potential pitfalls. Thus, saving you time, money and resources.

This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.