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?
Many thanks