Software engineering practices for machine learning — Adoption, effects, and team assessment
Journal of Systems and Software, vol. 209, pp. 111907
Abstract
Machine learning (ML) is extensively used in production-ready applications, calling for mature engineering techniques to ensure robust development, deployment and maintenance. Given the potential negative impact machine learning (ML) can have on people, society or the environment, engineering techniques that can ensure robustness against technical errors and adversarial attacks are of considerable importance. In this work, we investigate how teams of experts develop, deploy and maintain software with ML components. Moreover, we link what teams do to the effects they aim to achieve and provide means for improvement. Towards this goal, we performed a mixed-methods study with a sequential exploratory strategy. First, we performed a systematic literature review through which we mined both academic and grey literature, and compiled a catalogue of engineering practices for ML. Second, we validated this catalogue using a large-scale survey, which measured the degree of adoption of the practices and their perceived effects. Third, we ran validation interviews with practitioners to add depth to the survey results. The catalogue covers a broad range of practices for engineering software systems with ML components and for ensuring non-functional properties that fall under the umbrella of trustworthy ML, such as fairness, security or accountability. Here, we present the results of our study, which indicate, for example, that larger and more experienced teams tend to adopt more practices, but that trustworthiness practices tend to be neglected. Moreover, we show that the effects measured in our survey, such as team agility or accountability, can be predicted quite accurately from groups of practices. This allowed us to contrast the importance of the practices for these effects as well as adoption rates, revealing, for example, that widely adopted practices are, in reality, less important with respect to some effects. For instance, writing reusable scripts for data cleaning and merging is highly adopted, but has a limited impact on reproducibility. Overall, our study provides a quantitative assessment of ML engineering practices and their impact on desirable properties of software with ML components, by which we open multiple avenues for improving the adoption of useful practices. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board.
Authors 4
-
Leiden University · Siemens (Netherlands)
Affiliation as printed
Leiden University, The Netherlands
Siemens, The Netherlands
-
Koen van der Blom Aachen
Leiden University · Sorbonne Université
Affiliation as printed
Leiden University, The Netherlands
Sorbonne Université, France
-
Holger H. Hoos Aachen
Leiden University · University of British Columbia · RWTH Aachen University
Affiliation as printed
Leiden University, The Netherlands
RWTH Aachen University, Germany
University of British Columbia, Canada
-
Joost Visser Aachen
Affiliation as printed
Leiden University, The Netherlands
Cited by 24 stored of 25
No patents citing this paper on Lens.org (checked 2026-10-06).
References 110
-
W6671784191details pending0citations
-
W6675216805details pending0citations
-
W6677774880details pending0citations
-
W6746225964details pending0citations
-
W6747352621details pending0citations
-
W6755609673details pending0citations
-
W6759251887details pending0citations
-
W6761249802details pending0citations
-
W6761988536details pending0citations
-
W6765036178details pending0citations
-
W6766539938details pending0citations
-
W6766980252details pending0citations
-
W6767260480details pending0citations
-
W6767578553details pending0citations
-
W6769347702details pending0citations
-
W6772545751details pending0citations
-
W6773178832details pending0citations
-
W6773751614details pending0citations
-
W6781617500details pending0citations
-
W6784249857details pending0citations