Agile spike

An agile spike is a time-boxed story whose output is knowledge, not a shippable feature: the team investigates a technical or design question so the real story can be estimated or built with less uncertainty. The practice comes from Extreme Programming and is unrelated to spike testing, which is a performance test of sudden load.

The longer version

The name comes from Extreme Programming, where a spike is a narrow, deep probe through a problem to see whether an approach holds. The team fixes the time up front, commonly a day or two, and states the question in a sentence. The spike is over when the time is spent or the question is answered, not when code is complete. The word is also used in performance testing, as in spike testing, where it means a surge of traffic and is a different thing altogether.

What comes out is an answer: a decision between two libraries, a short written finding, or a throwaway prototype that proves a point and is then deleted. Teams often sort them into technical spikes, such as whether a query will cope with the data volume, and functional spikes, such as how an unfamiliar workflow should behave. The code from a spike is rarely the code that ships, and keeping it is a common way for shortcuts to enter the product.

A spike goes into the sprint like any other story, with the question as its acceptance condition, and the follow-up story is estimated afterwards on better information. Testers can take part, since exploring an unfamiliar area against a time limit and writing up what was found is close to exploratory testing, aimed at a risk in the design, not at a build.

Common questions

What is an agile spike?

An agile spike is a short, time-boxed story whose goal is to learn something, such as whether a technology fits, so the team can estimate or build the real work with less uncertainty.

Is an agile spike the same as spike testing?

An agile spike is a research story in a sprint, while spike testing is a performance test that applies a sudden surge of load to a system. The two share only the word.

How long should a spike last?

A spike lasts as long as the team agrees before starting, and short limits such as a day or two are common. The point of the limit is to stop an open-ended investigation from consuming a sprint.

Does a spike produce working software?

A spike produces knowledge, delivered as a decision, a written finding or a prototype built to answer the question. Any code is usually discarded, and the feature itself is built in a later story.

Who runs a spike?

The person best placed to answer the question runs it, usually a developer for a technical unknown, a designer or product owner for a functional one, and sometimes a pair. The team reviews the finding together so the decision is shared.

Bug reports that arrive ready to triage.

Collect replay, console, network and browser context with the Free plan.

<script src="…/widget.js" data-key="pb_pub_…">