Mar 1st, 2024

What is a Spike in Agile | How To Use with Example

Naveen Kumar Singh
Naveen Kumar Singh

Naveen is a professional agile coach and has been working independently for a long time in the Asia... Read more

What is a Spike in Agile

Before explaining the Agile spike definition, let us clear the air that despite popular belief, Agile spike and Agile spike story are not the same thing. 

An Agile spike is an experimental activity, or, you can say, a prototyping activity, that is meant to reduce risk or gather information needed for more accurate user story estimation. 

Sometimes, if a story is too complex, your team may face challenges while estimating the story. Completing the story on due time is another challenge they face. In such a scenario, you can build a spike or experimental activity to figure that story out. 

A spike may involve writing a prototype, adding a technical proof of concept, or researching potential solutions to a complex problem.

A spike is time-boxed and may last a few hours, days, or weeks, depending on the scope. The learnings from the spike are then used to create more detailed user stories for future sprints.

An Agile spike story is a user story crafted to encapsulate and track the spike activity described above. So, a spike story would capture the objective and scope of a planned spike that the team wants to undertake. 

Agile Spike Example

Let’s take an example of Agile spike to understand the concept better. Suppose a developer team is planning to build a very complex app feature. So, the team decided to do a 2-3 day spike to build a very basic prototype of the feature to prove that the feature they’re working on is viable. 

Another example of a spike would be a team’s effort to find a better solution to handle video uploading and transcoding. A developer spends half a day researching existing cloud services, APIs, and open-source tools that could be used to solve this problem in a scalable way. 

The key concept of spikes is planning short, focused investigations that can reduce risk and gather just enough information needed to plan the next sprint. 

When Do You Use Spike?

Some teams put spike stories on the product backlog along with user stories. But while refining the product backlog, you may come across uncertainties. In such scenarios, agile spikes can provide more clarity before your development team commits to full implementation. Here are some common situations where spikes are useful: 

  • When your team has to evaluate multiple technical options to find a solution to a potential problem. If they’re unsure which option is best, they can start a short investigation or spike to validate their assumptions and choose the optimal approach.

  • When working on a user story, if the development team feels the path to story implementaion is unclear, a spike can be useful. With spike, they can experiment with various directions until they reach a conclusion. 

  • When your team is working on a complex, risky feature or user story, a spike is needed. It will help the team experiment with the feature before fully committing to building it. 

  • When a user story is poorly written or hard to estimate, a short investigation through a spike can help the team find the missing puzzle for planning.

What are the Types of Agile Spikes?

  • 1There can be multiple types of spikes in an Agile team. The main purpose of all types of spikes is to resolve a specific uncertainty or risk. Here are a few examples of spikes:
  • 2Technical Spike: Investigating a technical approach, API, library, architecture, etc. The goal is to gather enough technical information to reduce risk and allow implementation.
  • 3Proof of Concept Spike: Building a very basic prototype to demonstrate the feasibility and viability of a complex feature or story.
  • 4Estimation Spike: Spiking a poorly defined story to get just enough details for the team to estimate the size and effort involved.
  • 5Design Spike: Exploring potential design solutions for the UI/UX to figure out the best direction. This may involve mockups, prototypes, and usability testing.
  • 6Research Spike: Researching a broad topic, such as exploring existing solutions, products, or open-source tools in the market.

Become a Scrum Master and kickstart your Agile journey with these essential steps

Explore training options, gain practical experience, and earn certifications to enhance your skills and credibility in the field.

Register Today

10 Benefits of Using Agile Spike

  • 1Reduces risk- Spikes allow unknowns and risks to be explored early before committing to full implementation. This avoids going too far down the wrong path.
  • 2Informs estimates- By doing some hands-on work, the team gets enough details to provide more accurate estimates for complex stories.
  • 3Evaluates technical options- Spikes helps compare technical approaches to determine the optimal solution instead of choosing arbitrarily.
  • 4Proves feasibility- They allow validating proofs of concept for technically challenging stories to ensure they are viable.
  • 5Continuous learning- The team builds skills and knowledge to better understand how to implement challenging work.
  • 6Gets feedback early- Spikes can incorporate reviews from stakeholders to validate if an approach will meet their needs.
  • 7Saves time and rework- Resolving unknowns upfront prevents potential waste from changing direction late in implementation.
  • 8Promotes experimentation- Spikes encourage trying out ideas quickly without over-committing resources upfront.
  • 9Focuses effort- Time-boxing spikes prevent teams from going down unnecessary rabbit holes and tangents.
  • 10 Overall, spikes are a way to incorporate just-in-time decision-making and learning in agile development to maximize value. They mitigate risk and provide objective data to plan complex work.

How to Plan an Agile Spike?

Here are some tips for planning and executing agile spikes:

  • Define the goals clearly before planning a spike. What specific uncertainty do you want to resolve? For example, a development team that is unfamiliar with APIs and wants to integrate a 3rd party application, their specific target for the spike would be building a mock integration to better understand how to design the full integration. 

  • Next, set a specific duration of the spike. Time-boxing the spike will help you make sure it doesn’t turn into a full implementation. Ideally, 1-3 days are appropriate for a spike. 

  • Have a flexible plan and outline the main investigation activities and approaches. Also, decide what resources, tools, or expertise you’ll need for the spike. 

  • Having the right team of experts is important to run a successful spike. You can assemble a small team of designers, developers, or other members relevant to the specific problem you want to solve. 

Who can Initate a Spike in an Agile Team?

Anyone from the Scrum team can initiate a spike. If any member of the team feels they are unfamiliar with a concept before starting a specific task, should initiate a spike. Mid-sprint stopping a task to figure out the uncertainties can be frustrating and time-wasting for the team. 

So, if the developers working on a user story feel the need to identify risk or choose between multiple potential solutions, they can conduct the technical spike to get clarity. 

If a product owner feels the team needs more information to refine the product backlog items, they can initiate a research spike. 

Also, a Scrum master can facilitate a spike to reduce project risks and unknowns and gain insights before starting a sprint. 

How Long Agile Spikes Should Be?

The timing rules of Agile spike aren’t carved in a stone. However, the most common recommendation is to limit the spikes to 1-3 days. For a complex technical investigation, 2-3 days of spikes are enough to gather information. 

Make sure to avoid spikes that are longer than 5 days. Because a long-duration spike is a sign that it has evolved into a full-blown implementation rather than an experimental prototype. 

Wrapping Up

Agile spikes are short, focused investigations that provide critical insights for the team. They allow for validating assumptions, gaining knowledge, and reducing risks before committing to full implementations of complex stories.

Keep your spikes short, purposeful, and insightful. Spikes should be time-boxed to a few days and have clearly defined goals around exploring uncertainties. They are not meant to be full production-ready implementations. Various team roles, from developers to product owners, can initiate spikes as needed.

Overall, spikes empower teams to incrementally gain knowledge and make just-in-time decisions. Teams that leverage spikes appropriately will see improved delivery, quality, and business outcomes.

Frequently
Asked
Questions

A spike in Scrum is a short, time-boxed experiment or research activity. Spikes are used when the team needs more clarity before committing to a large or complex user story. 

 

A user story is meant to describe features to be built that deliver value to the users. On the contrary, a spike is a research activity or investigation that is organized to provide information and resolve uncertainties related to complex user stories. 

 

The spike technique in Agile refers to a time-boxed research, experimentation, or prototyping activity. Spikes are short, usually 1-3 days. Spike technique is used in Scrum, SAFe and other Agile frameworks.

Naveen Kumar Singh

Naveen is a professional agile coach and has been working independently for a long time in the Asia Pacific. He works with the software development team and product team to develop awesome products based on empirical processes.

WhatsApp Us

Explore the Perfect
Course for You!
Give Our Course Finder Tool a Try.

Explore Today!

RELATED POST

Agilemania Refer and Earn
Agilemania Whatsapp