Title
Software engineering for machine learning: a case study
Abstract
Recent advances in machine learning have stimulated widespread interest within the Information Technology sector on integrating AI capabilities into software and services. This goal has forced organizations to evolve their development processes. We report on a study that we conducted on observing software teams at Microsoft as they develop AI-based applications. We consider a nine-stage workflow process informed by prior experiences developing AI applications (e.g., search and NLP) and data science tools (e.g. application diagnostics and bug reporting). We found that various Microsoft teams have united this workflow into preexisting, well-evolved, Agile-like software engineering processes, providing insights about several essential engineering challenges that organizations may face in creating large-scale AI solutions for the marketplace. We collected some best practices from Microsoft teams to address these challenges. In addition, we have identified three aspects of the AI domain that make it fundamentally different from prior software application domains: 1) discovering, managing, and versioning the data needed for machine learning applications is much more complex and difficult than other types of software engineering, 2) model customization and model reuse require very different skills than are typically found in software teams, and 3) AI components are more difficult to handle as distinct modules than traditional software components --- models may be "entangled" in complex ways and experience non-monotonic error behavior. We believe that the lessons learned by Microsoft teams will be valuable to other organizations.
Year
DOI
Venue
2019
10.1109/ICSE-SEIP.2019.00042
Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice
Keywords
DocType
ISBN
AI, data, process, software engineering
Conference
978-1-7281-1761-4
Citations 
PageRank 
References 
44
1.46
19
Authors
9
Name
Order
Citations
PageRank
Saleema Amershi177545.16
Andrew Begel2115470.70
Christian Bird32469115.59
Robert DeLine42957210.35
Harald Gall53858263.82
Ece Kamar657748.11
Nachiappan Nagappan7553.26
Besmira Nushi812010.98
Thomas Zimmermann95947271.61