Publication Type
Journal Article
Version
acceptedVersion
Publication Date
8-2019
Abstract
Adding an ability for a system to learn inherently adds uncertainty into the system. Given the rising popularity of incorporating machine learning into systems, we wondered how the addition alters software development practices. We performed a mixture of qualitative and quantitative studies with 14 interviewees and 342 survey respondents from 26 countries across four continents to elicit significant differences between the development of machine learning systems and the development of non-machine-learning systems. Our study uncovers significant differences in various aspects of software engineering (e.g., requirements, design, testing, and process) and work characteristics (e.g., skill variety, problem solving and task identity). Based on our findings, we highlight future research directions and provide recommendations for practitioners.
Keywords
Software engineering, machine learning, practitioner, empirical study
Discipline
Artificial Intelligence and Robotics | Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
IEEE Transactions on Software Engineering
First Page
1
Last Page
14
ISSN
0098-5589
Identifier
10.1109/TSE.2019.2937083
Publisher
Institute of Electrical and Electronics Engineers (IEEE)
Citation
WAN, Zhiyuan; XIA, Xin; LO, David; and MURPHY, Gail C..
How does machine learning change software development practices?. (2019). IEEE Transactions on Software Engineering. 1-14.
Available at: https://ink.library.smu.edu.sg/sis_research/4498
Copyright Owner and License
Authors
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/TSE.2019.2937083