Jump to content

Spike (software development)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Rgnyman (talk | contribs) at 15:11, 19 September 2018 (Removed mention to specific scaling framework since it has copied the name from original source and it does not add value to this article.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A spike is a product-testing method originating from Extreme Programming that uses the simplest possible program to explore potential solutions[1]. 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 methodologies like Scrum or Extreme Programming.

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.
  • Spikes 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.

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.
  2. ^ "Spikes in Scrum". Scrum Alliance. Retrieved 12 July 2018.