I've seen the word "spike" used in relation to source-control.
For example, a project I'm working with has three top-level folders: trunk, branches and spikes.
What's the meaning of this term?
A spike story in Agile is a user story that needs more information so the team can estimate how long the story will take to complete. Agile teams typically have a set amount of time outlined for spikes, which is why spike stories are often referred to as timeboxed investigations.
A story or task aimed at answering a question or gathering information, rather than at producing shippable product.
The term comes from the meaning of the object — a spike allows you to go deep on a problem. A common analogy used is rock climbing. When you cannot go any further, you drive a spike in the rock.
A technical spike is a type of user story that helps you identify and evaluate options to reduce the risk of selecting a technical approach.
The accepted answer isn't necessarily true anymore. With the introduction of GitFlow in 2010 (after this question was asked and answered), the definition of "spike" has changed. In the context of GitFlow, at least, a "spike branch" is one that is meant for exploration of a particular topic. It is not usually merged into the main/develop branches or deployed.
The term comes from Extreme Programming:
Create spike solutions to figure out answers to tough technical or design problems. A spike solution is a very simple program to explore potential solutions. Build the spike to only addresses the problem under examination and ignore all other concerns. Most spikes are not good enough to keep, so expect to throw it away. The goal is reducing the risk of a technical problem or increase the reliability of a user story's estimate.
http://www.extremeprogramming.org/rules/spike.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With