Daniele Davi'

Spikes 102

In my previous article “Spike 101” I introduced the concept of Spike and it’s general use in Agile. In that article we saw that:

  1. Spikes are investigation activities -e.g: research, design, investigation, exploration, prototyping- to gain the knowledge to solve a problem. 
  2. As Scrum doesn’t prescribe any particular type for Backlog Items, it is up to the team to decide wether they Spikes useful or not.
  3. Spikes shall have ACs, are time-boxed and should be estimable, demonstrable, and acceptable.

In this article I will provide further details and suggestions to make the best use of this practice and avoid pitfalls.

Different type of spikes

Often Spikes comes in these 2 forms: functional and technical.

Functional spikes are used to analyse overall solution behaviour and determine:

Technical spikes are used to research various approaches in the solution domain and aim to:

What is the difference between Spikes and Tasks?

(Engineering) Task or “Dev Stories” (in a pre-Jira project) – represents a set of engineering work that is not directly related to a user story. The team should try to anticipate “Dev Stories” and add them to the backlog sooner than later so the PO can plan milestones.

Examples of engineering tasks are:

Spikes are the Exception, Not the Rule

Every user story has uncertainty and risk; that’s the nature of Agile development. The team discovers the right solution through discussion, collaboration, experimentation, and negotiation. Thus, in one sense, every user story contains spike-like activities to identify the technical and functional risks. The goal of an Agile team is to learn how to address uncertainty in each iteration. Spikes are critical when high uncertainty exists, or there are many unknowns.

If you are using Jira to manage your product backlog, you may not have by default the “Spike” issue type. Here a guide on how to add new types.

Spikes at glance! How to get them right?

If we knew what we were doing, it wouldn’t be called research.

Albert Einstein

Other benefits of Spikes

Spikes encourage break down problems in small batches separating the unknown-unknown part of the problem from the rest.

Spikes explicitly support innovation, research, experimentation while
time-boxing allow this in transparent, safe, time-costly controlled way.

Would you like to know more about Spikes?

Here some useful resources: