A spike is an experiment. It helps the team find some bit of information it is missing in order to go forward. As such,
spikes are an important tool to minimize project risks.
Spikes are very often called for during the planning process when the team is unsure about how long particular stories
will take. In this case, the spike consists of trying out different ways of implementing the story. The team will do
the bare minimum to gain an understanding of how to do the story so that they can provide a reasonable estimate. Very
often, the code generated by spikes is literally thrown away. The value of the spike is in the information that was
missing, namely a good estimate in this case.