What is a spike and why does it confuse so many people?
The spike is an intra-sprint decision that a team needs to make, often around an architectural decision, such as, “Should we be using Oracle?” “Should we be using MySQL?”
So, for a spike, we’ll take a couple of people, we won’t do any functional development, and we may spend the next 48 hours (as an example) to look at which of these approaches is the better one for us to take. Then, we’ll come back with some recommendations that we can consider.
Why does it confuse so many people? Well they’re not sure how to handle it on the sprint backlog, or maybe they don’t know whether it should be considered a product backlog item. What we normally say is, if you’re going to give people a couple of days out of the sprint for a spike, we’ll probably track it as a task, so we can figure out how we’re tracking with what is capacity in the remainder of the sprint itself. But we’re not going to make it a product backlog item because it’s something that’s happening within the sprint itself.