Adoption and Effects of Software Engineering Best Practices in Machine Learning
Alex Serban, Koen van der Blom, Holger Hoos, Joost Visser

TL;DR
This paper empirically assesses the adoption of software engineering best practices in machine learning projects, revealing correlations between practices and perceived benefits, and identifying gaps in practice adoption across different team demographics.
Contribution
It provides a comprehensive survey-based analysis of practice adoption in ML, quantifies their effects, and highlights areas for improvement in engineering practices for ML teams.
Findings
Larger teams adopt more practices.
Traditional practices have lower adoption than ML-specific ones.
Models can predict perceived effects from practice adoption.
Abstract
The increasing reliance on applications with machine learning (ML) components calls for mature engineering techniques that ensure these are built in a robust and future-proof manner. We aim to empirically determine the state of the art in how teams develop, deploy and maintain software with ML components. We mined both academic and grey literature and identified 29 engineering best practices for ML applications. We conducted a survey among 313 practitioners to determine the degree of adoption for these practices and to validate their perceived effects. Using the survey responses, we quantified practice adoption, differentiated along demographic characteristics, such as geography or team size. We also tested correlations and investigated linear and non-linear relationships between practices and their perceived effect using various statistical models. Our findings indicate, for example,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
