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.
翻译:在软件项目中引入机器学习(ML)组件,使得软件工程师需要与数据科学家和其他专家合作,虽然协作总是具有挑战性,但ML提出了更多挑战,包括探索性模型开发过程、所需额外技能和知识、所需额外技能和知识、测试ML系统的困难、不断演进和监测的需要以及公平和解释等非传统质量要求。我们通过与来自28个组织的45名从业人员的访谈,确定了各团队在建立和部署ML系统进行生产时所面临的主要协作挑战。我们报告了在开发生产ML系统以提供需求、数据和整合以及相应的团队模式和挑战方面的共同协作点。我们发现,这些挑战大多围绕通信、文件、工程和进程,并收集应对这些挑战的建议。