Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Spike (software development)
Software development term

A spike is a product development 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.

We don't have any images related to Spike (software development) yet.
We don't have any YouTube videos related to Spike (software development) yet.
We don't have any PDF documents related to Spike (software development) yet.
We don't have any Books related to Spike (software development) yet.
We don't have any archived web articles related to Spike (software development) yet.

Uses

A spike in a sprint can be used in a number of ways:2

  • As a way to familiarize the team with new hardware or software
  • To analyze a problem thoroughly and assist in properly dividing work among separate team members.
  • Spike tests can also be used to mitigate future risk, and may uncover additional issues that have escaped notice.

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.

Spikes should be timebound and used sparingly to ensure focus and maintain momentum toward delivering working software. Timeboxing prevents analysis paralysis and keeps the effort outcome-driven rather than open-ended. Overusing spikes can signal decision avoidance and delay progress, so teams should default to building thin slices of functionality whenever feasible.

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 (a new design, a refined workflow, etc.) are shared and discussed with the team.

References

  1. "Spike". The Agile Dictionary. http://agiledictionary.com/209/spike/

  2. "Spikes in Scrum". Scrum Alliance. Archived from the original on 12 July 2018. Retrieved 12 July 2018. https://web.archive.org/web/20180712125321/https://scrumalliance.org/learn-about-scrum/agile-atlas/agile-atlas-commentaries/may-2014/spikes-in-scrum-the-exception,-not-the-rule