Sprint 1: What is a Spike? - SD-Group-11/ml-frontend GitHub Wiki

Spikes are a special type of user story used to gain the knowledge necessary to reduce the risk of a technical approach, better understand a requirement, or increase the reliability of a story estimate. Spikes are commonly used when the Scrum team does not have knowledge of a new technology, and spikes may be used for basic research to ensure the feasibility of the new technology, domain, or approach).

The reason this is necessary in this instance is due to the fact that no one in the team has experience with coding machine learning models in Python and integrating it into an application, thus sufficient research must be done in deciding the platform of the app, the frameworks that will be used (if Python is sufficient for front-end or if it must be integrated with another front-end language), etc. since the cost of changes grows exponentially with time as well as this directly impacting every line of code that will be written, this is one of the most important decisions regarding the application.