Spikes in Agile Software Development: An Empirical Study
Hussein Al Hashimi, Andy M. Gravell · 2020
Spikes can be an essential component of the agile development cycle, because they assist the teams, for both technical and functional issues, to identify any uncertainty in a user story, leading to a more efficient solution to the problem. The use of spikes in agile software development (ASD) can enable organizations to produce quality software by employing the required technical expertise, planning the entire development cycle and ensuring that the client's requirements are adhered to. This study aims to examine the use of spikes in ASD. It explores the role, efficiency and efficacy of spikes in various software development domains through the different agile methods. An exploratory research design is adopted to achieve this purpose, whereby mixed methods are used to collect concurrently both qualitative and quantitative data from the experts recruited to the study. Through the survey, it establishes that the primary role of spikes is risk management through investigations to understand user stories and reveal any uncertainty. Conclusively, the study findings imply that spikes have become an essential tool for most agile teams in ASD. The efficiency and effectiveness that are reported show that the majority of experts in software development have realized the value of using spikes in their processes.