A Spike is a key tool used by agile teams to investigate and resolve problems as early as possible. It is a short time-boxed exploration of an approach to reduce project risk by learning just enough about the unknown aspect of a user story. Although spikes can be done at any time during a project, they are generally don’t at the start of a project, before the development effort begins. There are two types of spikes: Architectural spike: The idea is to explore the viability of an approach or a solution in a short time frame. Risk-based spike: The idea is to investigate, and possibly reduce, an issue or threat to the project.