Exploring Requirements Engineering for Machine Learning via a Product Case Study - Lynn Vonderhaar; Timothy Elvira; Juan Couder; Omar Ochoa (Proceedings of the International Florida Artificial Intelligence Research Society Conference)
Requirements Engineering (RE) is a well-defined process in software development. Through customer requirement elicitation techniques, Non-Functional Requirements (NFRs) and the Functional Requirements (FRs) that implement them, are defined. However, these techniques are designed for describing deterministic software. Currently, Machine Learning (ML) is becoming ubiquitous, and many domains deploy it. However, ML design and development lacks the formal structure of traditional software development. As ML is developed and deployed in various applications, it would benefit from a structured design and verification process. This paper presents a case study to explore the RE process for ML development. For this case study, the authors follow the RE process for an ML-based software system from customer product description to requirement specification validation. The case study results in 23 NFRs and 151 FRs for the given product. This paper finds that although the NFRs and FRs for ML look different than those for traditional software systems, RE can be adapted for ML development and improves the system descriptions.