John Liao, Krishna Nattanmai and Adrian Cook, Intel
Continuous integration (CI) is integral to the modern software development process. As with the majority of development teams today, our organization uses CI with the goal of improving development throughput and quality. In the past, our CI had a 50 minute turnaround time while running every test for each patch submitted to our project. The reality is that our long CI response time was creating a bottleneck in the development process rather than accelerating it. Ideally, CI builds and tests only the code modified by a patch, which theoretically allows us to get feedback within minutes. To move toward this ideal state, we have employed several strategies including: a redesign of our major software components, splitting our software repositories, and targeted testing. Applied across two repositories within our organization these strategies yielded a 40% reduction in the average CI response time in one repository, and a 75% reduction in the response time of a second repository. This reduced response time lead to an increased development throughput (number of commits) within the second repository of 33%.
Target Audience: Intermediate
2016 Technical Paper, John Liao, Krishna Nattanmai and Adrian Cook, Paper, Slides, Notes, Video.