I am trying to understand whether to and how to use Spikes. As I understand it, Spikes are used to gain the knowledge necessary to complete a story or a task? Kind of like discovery work? Is this correct?
I am working with a Kanban board and currently when a user story requires some discovery in order to complete it or to add enough detail, I create a sub-task as part of that user story specifically for the discovery work. I'm not sure if this is best practice.
Some examples of discovery tasks may be:
- Look at the feasibility of using different 3rd party tools for gathering customer feedback, and agree on the approach
- Engage different teams within the organisation, to provide enough detail in the user story so it can be started
- Investigate what information a 3rd party requires via the API to process an order - the outcome of this would be documenting what information a 3rd party can accept for an order/recommendation on what we should send to complete the journey
I'm wondering whether I should create a Spike issue type and in what scenarios I should use it (any of the above)? What are the benefits of using Spikes?
Hi @Mark R -- Welcome to the Atlassian Community!
Your team's answer depends upon how you work. Do you have discovery and delivery pipelines, or one value stream, or some other workflow? When discovery is built into your steps, maybe you do not need a separate type of work item to answer questions. Maybe it just happens during refinement.
"Spikes" can be a helpful tool for teams to answer a specific question. Some teams consider three different types of spikes, following the ideas of Mike Cohn (spike user stories), or Chris Sterling in Managing Software Debt: Building for Inevitable Change:
If you do not use spikes often, creating a separate issue type may not be needed. Instead in Jira, you could use a label, component, or add a prefix to the summary to indicate the "spike" nature of the work. And if you later find you need them more, you can add the issue type at that point.
Hi Bill Sheboy, Thank you for your response and the definition of the different types. I can see the team potentially using all of these at some point.
We currently have a single pipeline with a 'Discovery' column in the Kanban board. Generally, if a user story requires some discovery, a sub-task is created for the story (like one of the examples I mention above) and this moves into the Discovery column, and then to 'Done' at which point there is enough info to progress the story (or not).
Alternatively, there may need to be a piece of discovery done that is not related to a specific story. In this case, we generally just create a Task for this work - I think this generally aligns to the 'Research' type above. Perhaps, here is where I could use the spike prefix to call this out.
Based on what you've said I don't think we need a new issue type at this point.
Catch up with Atlassian Product Managers in our 2020 Demo Den round-up! From Advanced Roadmaps to Code in Jira to Next-Gen Workflows, check out the videos below to help up-level your work in the new ...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event