How to use spikes as a foundation for ADRs#



  • Spike is the name for a timeboxed user story or Task that is created in order to research a question or resolve a problem. Spikes focus on gathering information and finding answers to a questions, rather than producing a shippable product.

  • The primary use of spikes it to help with estimating a Task.

  • Article explains how spikes can be used with ADR.

  • Spikes address “options considered” section of an ADR.

  • Usually spike is a quick-n-dirty way to explore the problem space.

  • The code for a spike is a throw-away.


  • When there’s a no clear way to choose between the options in an ADR.

  • Team runs a time-boxed spike to answer which option provides the best outcome in a measured way.