Spike — Explained with Examples
Spike is a time-boxed research or exploration activity in Agile development, typically implemented as a special type of user story. The goal is not to produce shippable software but to gain knowledge and reduce uncertainty. Spikes are commonly used to evaluate technology options, investigate bugs, or explore design approaches.
Spikes were introduced in Extreme Programming and later adopted broadly in Scrum. A spike has a fixed time box (e.g., “2 days”) and a clear research question (e.g., “Can we achieve sub-50ms latency using WebSockets?”). The deliverable is knowledge, often documented as a summary, architectural decision record, or Proof of Concept code — which may be discarded afterward. The name comes from mountaineering: a spike piton is driven into a rock face to reduce the risk of a fall.
Real-world analogy. Before climbing a difficult section of a mountain, a climber hammers a spike into the rock and tests it with her weight. If it holds, she proceeds confidently. If it fails, she finds a different route. The spike itself is not the climb — it reduces risk for the actual ascent.
Example (Spike story card):
Title: Spike - Evaluate message queue options
Time box: 3 days
Question: "Which message broker (RabbitMQ vs Kafka vs Redis Pub/Sub)
best handles our expected 10K msg/sec throughput?"
Success: Decision table with latency, throughput, cost for each
Output: ADR documenting the recommendationRelated terms: Proof of Concept, MVP, Prototype, Agile, Sprint
Related tutorial: Spikes in Agile
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro