Spike (software development)


A spike is a product-testing method originating from Extreme Programming that uses the simplest possible program to explore potential solutions. It is used to determine how much work will be required to solve or work around a software issue. Typically, a "spike test" involves gathering additional information or testing for easily reproduced edge cases. The term is used in agile software development approaches like Scrum or Extreme Programming.

Uses

A spike in a sprint can be used in a number of ways:
A distinction can be made between technical spikes and functional spikes. The technical spike is used more often for evaluating the impact new technology has on the current implementation. A functional spike is used to determine the interaction with a new feature or implementation.
To track such work items, in a ticketing system, a new user story can be set up for each spike, for organization purposes.
Following a spike, the results are shared and discussed with the team.