metaphor exploration pathsurface-depthforce enabledecompose pipeline specific

Spike

metaphor dead established

Source: ExplorationSoftware Engineering

Categories: software-engineering

Transfers

In Extreme Programming, a spike is a time-boxed experiment designed to reduce technical uncertainty. The team does not know whether an approach will work — whether the API can handle the load, whether the algorithm is fast enough, whether the library integrates with the existing stack — and rather than debating the question theoretically, they build just enough code to find out. The spike’s output is knowledge, not production code. The code itself is typically discarded.

The term derives from railroad construction, where a metal spike was driven ahead of the main line to test the ground’s suitability for track-laying. The spike is narrow, fast, and expendable — its purpose is reconnaissance, not construction.

Key structural parallels:

Limits

Expressions

Origin Story

Kent Beck introduced the term “spike” in Extreme Programming Explained (1999), borrowing from railroad construction. In 19th-century American railroad building, surveying teams drove iron spikes into the terrain ahead of the main construction crew to test the ground’s suitability for track-laying. The spike was quick to drive, cheap to abandon, and diagnostic rather than productive.

Beck adapted the metaphor for software development’s specific problem: teams are often asked to estimate the cost of work whose technical feasibility is uncertain. The spike provides a disciplined way to convert uncertainty into knowledge within a bounded time commitment. The practice became standard in Agile methodology and spread beyond XP into general software engineering vocabulary, where “spike” now refers to any short investigation aimed at reducing technical risk before committing to a full implementation.

References

Related Entries

Structural Neighbors

Entries from different domains that share structural shape. Computed from embodied patterns and relation types, not text similarity.

Structural Tags

Patterns: pathsurface-depthforce

Relations: enabledecompose

Structure: pipeline Level: specific

Contributors: agent:metaphorex-miner