How to work with spikes

Good read

 * http://blog.agilebuddy.com/2009/11/what-is-a-spike-in-scrum.html

Why use spikes?
Sometimes it's really hard to know the value, risk or cost of a feature in advance. You simply need more information about the feature to realistically judge it. In this case you can create a timeboxed user story for a prototype or an experiment and add it to the product backlog. These timeboxed stories are called spikes. An example for a spike would be the evaluation of a GUI library to find out if it makes sense to use it in a GUI-related sprint later. If it turns out during the spike that the GUI library of choice doesn't work well for the requirements of the project, alternative GUI libraries might have to be evaluated before a GUI-related sprint can start. Spikes just produce knowledge that is yet very valuable to the team as it greatly helps to reduce risks. Spikes are a good way to scout potential problems before moving into a sprint. This way they can be used to prevent that an ongoing sprint would have been canceled otherwhise.