Spike (software development)
A spike is a user story that is used to determine the estimated workload for the team on a certain issue. This means gathering additional information or surmising extra questions to be answered before the story can be picked up. A small experiment can also be used in a spike to gain more knowledge about a certain problem that arises. 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:[1]
- A way to familiarize with a certain domain or technology the team has little knowledge about.
- A story might be to big to estimate properly, more analyzing might be helpful to be able to properly split the story in more pieces.
- Risk is involved in a certain story and doing research or making a prototype can help mitigate this risk in the future.
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.
After a spike there should be some result to show the rest of the team. This can be a decision, prototype, storyboard, proof of concept or something else that helps determining the workload of the problem.
Definition
The term Spike[2] can be interpreted in multiple ways. It can be meant as a Spike used in rock-climbing, before you can climb higher first you drive a spike into the rock wall. Another way to see it is as a small path from top to bottom in the development process as to test a certain concept.
References
- ^ "Spikes in Scrum". Agile Atlas. Retrieved 9 October 2015.
- ^ "Definition of Spike". Agile Dictionary. Retrieved 9 October 2015.
This article has not been added to any content categories. Please help out by adding categories to it so that it can be listed with similar articles. (October 2015) |