Nice introduction to the concept of spikes. A spike is introduced whenever the process requires a more thorough evaluation of design. And removes the requirement of doing all of the design work up-front in sprint 0. Non dependent development work can, in the meanwhile, continue.