  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.
