Corvallis, OR : Oregon State University, Dept. of Computer Science
Abstract
Continuous integration (CI) systems automate the compilation, building, and testing of software. Despite CI being one of the most widely used processes in software engineering, we do not know what motivates developers to use CI, and what barriers and unmet needs they face. Without such knowledge developers make easily avoidable errors, managers reduce the productivity of developers by making misinformed decisions, tool builders invest in the wrong direction, and researchers miss many opportunities for improving the software engineering practice. Given the large fraction of proprietary code development, understanding how proprietary developers are using CI is vital to improving it.
We present the first study of how CI is used in the proprietary development of software. We conduct 16 semi-structured interviews with developers from different industries and development scale. We generalize these findings by surveying 523 developers from all over the world. We find that 78% of developers feel more productive when using CI, and 85% think that using CI causes developers to give more value to automated testing. However, unlike open-source developers, many proprietary developers want to use CI but are not allowed to do so. 50% of developers have problems troubleshooting CI builds, and more than half of developers want easier configurations for CI tools and services