In agile, time spent performing in-depth investigation of a problem, evaluating technical design options, or doing a proof of concept to validate the effectiveness of a specific technology or technical design option is tracked as a ‘spike’.
A spike is a research story representing effort needed for investigation of a problem or evaluation of one or more possible solutions. This is useful when, for example, the team is investigating a complex bug (for example, investigating slow performance impacting the front-end, or investigating a high volume of unexpected error codes returned by a web service). Spikes are also useful when considering how best to utilize new technologies which the team may be unfamiliar with, or when comparing different technical design options.
The acceptance criteria of a research spike story involves providing an answer or a solution, which may be in the form of technical documentation or an implementation story reflecting a specific technical design approach or a recommendation outlining a specific architectural solution.