What Is Spike 🔩 In Agile Software Development📊

Spike is an innovation of Extreme Programming(XP) in Agile software development. It's a small story or work that is for answering or gathering information rather than producing the Increment in a product.

The word spike comes from rock climbing activities. While climbing, we might stop to force a spike into the rock face, which is not actual climbing but by doing this we are making sure that future climbing will be smooth and easy.

Similarly, at the time of development, the team conducts a small experiment or R&D and makes proof of concept (POC) that is not the actual development or production work items but rather that makes future development easier.

A story cannot be estimated until a development team runs the time-boxed investigation. So spikes are not given story points because it is not related to product increment and hence do not contribute to the velocity of a team.

Extreme Programming

This approach is useful to minimize the risk factor of a technical approach, better understand a feature or story, and increase the reliability of estimation.

Spike has a maximum timebox of one Iteration and in that team will conclude that is done or not done so that in the next iteration the team can plan that.

This helps the team to find the risk in the early stage.

There are 2 types of spikes, Technical Spike and Functional Spike.

Technical Spike

This is like a migration of projects or functionality from old technology to new technology, so the team needs to do POC to come up with some solutions for the changes. For example, “How long it takes to update SQL Version” or "Changing the Frameworks"

Functional Spike

This is more user-specific, how a user might interact with software. This will be evaluated by programmers by creating some sort of prototyping, UI Wireframes or navigation flow. For example, a Dynamic Graph to be added to represent the sales data on the dashboard.

Summary

Spike practice is useful while maintaining large frameworks or big projects. To fulfill the timebox in Spike the Spike story must be estimable, demonstrable, and acceptable.