In software development planning practices, a Spike is a time box used to investigate something. This most usually occurs when, while begining to estimate items on the backlog, items are found that contain too many unknowns to estimate. The Spike is created as a piece of work, with an agreed time (or story points value) associated to it which will be spent investigating the problem. The output of the spike will be, in this scenario, a valid estimate for the other piece of work as an approach can then be verified.
(Spike is also the name of my Scrum toy which I've taken with me to many clients over the years)
Spikes don't have to be used just to get more estimation information; sometimes, when you need to consider alternative approaches a Spike can be just what you need to either give yourself confidence that you are following the correct path or, alternatively, enable you to change course by investigating an alternative implementation. Often, when you want to do this people can struggle to see the value of doing this; work which you have a significant chance of essentially throwing away immediately afterwards.
Today I was able to qualify the value of this in real money.
While working on a project where the budget had become really squeezed, we were forced to try and make some hard decisions. At the sprint planning session last week I suggested that we create a Spike to spend around a day and a half looking into alternative solutions. I wanted to look at an alternative approach to what we had already designed and specced and look at how we could deliver the most potential value to the client in the shortest possible time.
After the Spike was complete I had achieved the following...
- A key project deliverable went from a projected 6 man week delivery to less than 2
- The likely dev complete date on the project could be pulled forward by nearly a whole sprint
- The new solution would offer the client much greater customisation functionality
- The new solution would benefit other deliverables in the project, reducing them also
- The cost of delivering the project was reduced far in excess of £10,000
The cost of the spike work being done was less than 5% of the value that I saved by taking the time to look into the options.
Next time your gut makes you question an approach...
STOP - SPIKE - SAVE
The negative for me will be that my work with the client delivering this project will end earlier than intended. For me this is more than compensated for as I can walk away from the project knowing that I've delivered the best possible outcome for my client, not just as a developer but as a multi skilled professional, able to bring multiple skill sets into the team of highly talented professionals that I have been working with.
For me - This makes a good day!