Collaboration challenges in building ML-enabled systems
Authors:
Top Cited Papers
Open Access
- 21 May 2022
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 413-425
Abstract
The introduction of machine learning (ML) components in software projects has created the need for software engineers to collaborate with data scientists and other specialists. While collaboration can always be challenging, ML introduces additional challenges with its exploratory model development process, additional skills and knowledge needed, difficulties testing ML systems, need for continuous evolution and monitoring, and non-traditional quality requirements such as fairness and explainability. Through interviews with 45 practitioners from 28 organizations, we identified key collaboration challenges that teams face when building and deploying ML systems into production. We report on common collaboration points in the development of production ML systems for requirements, data, and integration, as well as corresponding team patterns and challenges. We find that most of these challenges center around communication, documentation, engineering, and process, and collect recommendations to address these challenges.Keywords
Funding Information
- Natural Sciences and Engineering Research Council of Canada (NSERC) (RGPIN2021-03538)
- NSF (1813598, 2131477)
- Carnegie Mellon University (CMU)
- Department of Defense (FA8702-15-D-0002)
This publication has 36 references indexed in Scilit:
- Data Scientists in Software Teams: State of the Art and ChallengesIEEE Transactions on Software Engineering, 2017
- Interdisciplinary Collaboration2016
- Enterprise Data Analysis and Visualization: An Interview StudyIEEE Transactions on Visualization and Computer Graphics, 2012
- Purposeful Sampling in Qualitative Research SynthesisQualitative Research Journal, 2011
- Boundary Crossing and Boundary ObjectsReview of Educational Research, 2011
- Testing and validating machine learning classifiers by metamorphic testingJournal of Systems and Software, 2011
- Architecture as a coordination tool in multi‐site software developmentSoftware Process: Improvement and Practice, 2003
- Intermediary Objects as a Means to Foster Co-operation in Engineering DesignComputer Supported Cooperative Work (CSCW), 2003
- A field study of the software design process for large systemsCommunications of the ACM, 1988
- On the criteria to be used in decomposing systems into modulesCommunications of the ACM, 1972