#06 Spike in Agile/Scrum #KeepLearning #Agile
Chandan Banerjee
?? MCA | Agile Coach | Trusted Partner | Enabler | Thoughtful & Transparent | Optimize Delivery by Improving Flow of Work
June 8, 2019 Today I have explored bit more about Spike concept in Agile/Scrum. Here is my understanding
What is Spike in Scrum?
Spike is a special type of user story that’s used to gain the knowledge necessary, to reduce the risk of a technical approach, better understand a requirement, or increase the reliability of a story estimate.
A Spike that can be taken between the sprints. A spike has a maximum time-box size as the sprint it is contained in it. At the end of a sprint, the spike will be determined that is done or not-done just like any other ordinary user story.
Why Spike ?
In certain situation, the team unsure if they can complete a particular story due to some potential blockers and probably can’t even estimate the story. In such scenario, team may consider a spike as an investment for a Product Owner to figure out what needs to be built and how the team is going to build it. The Product Owner allocates a little bit of the team’s capacity now, ahead of when the story needs to be delivered, so that when the story comes into the sprint, the team knows what to do.
“A spike is an investment to make the story estimable or schedule-able.”
In agile software development, a spike is a story that cannot be estimated until a development team runs a time-boxed investigation. The output of a spike is an estimate for the original story.
Situation when Spikes can be useful:
· The team may not have knowledge of a new technology, and spikes can be used for basic research to ensure the feasibility of the new technology (domain or new approach).
· A story requires to be implemented using a 3rd party library with API that is poorly written and documented.
· The story may contain significant technical risk, and the team may have to do some experiments or prototypes to gain confidence in a technological approach that may allow them to commit the user story to some future time box.
Two Types of Spikes
Technical Spike : Used more often for evaluating the impact new technology has on the current implementation that the team needs experiment a new technology to gain more confident for a desired approach
Functional Spike : Used whenever there is significant uncertainty as to how a user might interact with the system. Functional spikes are often best evaluated through some level of prototyping, whether it be user interface mock ups, wire frames, page flows, or whatever techniques is best suited to get feedback from the customer or stakeholders.