Spikes
A spike is a research task used to answer questions or gain knowledge about a particular subject or problem, which can help make more accurate estimations or inform technical decisions. Unlike standard Product Backlog items that produce Done work, spikes know or clarify uncertainty.
For example, imagine a software development team unsure about the best technical approach to integrate with a new third-party service. Instead of guessing or making assumptions, they could allocate time for a spike to investigate and experiment with different integration methods. Once the spike is complete, the team will have a clearer understanding of the approach and its implications, enabling them to make better-informed decisions and produce more accurate estimates for the integration task.
While spikes can be instrumental in gaining knowledge and clarity, they also come with challenges that teams need to navigate. One primary concern is that they can be misused or overused, leading to inefficiencies. Instead of moving forward with development based on reasonable assumptions or prior experience, teams might rely excessively on spikes for even minor uncertainties. This can result in the team spending too much time researching rather than delivering tangible value to the product.
Also, there’s a risk of the scope of a spike expanding unintentionally. Spikes are meant to be timeboxed and focused. Still, without clear objectives or constraints, they might turn into sprawling research endeavours that don’t provide the targeted insights the team initially sought in a reasonable time frame.
Lastly, spikes can create a perception issue since they don’t result in tangible Increments. Stakeholders, especially those less familiar with Scrum, might question why time is spent on tasks that don’t yield direct product advancements. This perception can challenge the trust between stakeholders and Developers, especially if the value and outcomes of spikes aren’t communicated.
Spikes are like short, time-boxed research projects supporting product development by reducing unknowns and providing valuable insights. They can be used to aid Product Backlog refinement to increase understanding around work before it is selected for delivery in a Sprint.
