Long Build Trouble Shooting Guide

  title={Long Build Trouble Shooting Guide},
  author={Jonathan Rasmusson},
  booktitle={XP/Agile Universe},
Excessively long build times severely reduce a team’s ability to apply the XP practice of Continuous Integration. Long build times have a severe impact on team morale, productivity, and project ROI. With the application of techniques described in this Long Build Trouble Shooting Guide, teams will be able to keep their builds from exceeding 10 minutes in length. By keeping builds short, teams will be able to minimize the cost of integration, thereby freeing them to focus on other critical… 
An empirical study of the long duration of continuous integration builds
The results suggest that developers should use proper CI build configurations to maintain successful builds and to avoid long build durations, and that triggering builds on weekdays or at daytime is most likely to have a direct relationship with long building durations.
Shortening feedback time in continuous integration environment in large-scale embedded software development with test selection
By being able to safely shorten the feedback, the test selection tool can potentially help developers in the case company to practice continuous integration.
Continuous Integration server performance monitoring
The results indicate that the monitoring tool can be used for identifying resource starvation events and possible root causes for the events and the limitation of the implemented monitoring tool is the dependency for the database server as Elasticsearch.
Oops, My Tests Broke the Build: An Explorative Analysis of Travis CI with GitHub
It is found that testing is the single most important reason why builds fail on Travis CI, and the programming language has a strong influence on both the number of executed tests, their run time, and proneness to fail.
Oops, my tests broke the build: An analysis of Travis CI builds with GitHub
In an analysis of 2,640,825 Java and Ruby builds on TRAVIS CI, it is found that testing is the single most important reason why builds fail and the programming language has a strong influence on both the number of executed tests, their test run time and proneness to fail.
Improving the Efficiency of CI with Uber-commits
It is argued that while keeping changes small and integrating often is a wise approach for developers, the CI server may be more efficient operating on a different scale.
Build Waiting Time in Continuous Integration -- An Initial Interdisciplinary Literature Review
The objective of this study is to understand the effects of build waiting time in software engineering and to get input from waiting time research in other disciplines and the found effects were categorized into continuous integration specific, cognitive and emotional.
Automated software integration flows in industry: a multiple-case study
This paper studies five separate cases, using a descriptive model developed to address the variation points in continuous integration practice discovered in literature, and presents six guidelines for the design and implementation of automated software integration.
Continuous Integration in Component-Based Embedded Software Development: Problems and Causes
Four main problems associated with using continuous integration in the development of component-based embedded software are identified: late discovery of defects, the overall integration process takes too much time, the system build breaks too often and interrupted development flow.
An Empirical Evaluation of Feedback-Driven Software Development
This thesis culminates in the finding that feedback loops are the characterizing criterion of contemporary software development, and its model is flexible enough to accommodate a broad band of modern workflows, despite large variances in how projects use and configure parts of FDD.


Endo-testing: unit testing with mock objects
Using Mock Objects for unit testing improves both domain code and test suites, allowing unit tests to be written for everything, simplify test structure, and avoid polluting domain code with testing infrastructure.
Agile Software Development, Principles, Patterns, and Practices
This comprehensive, pragmatic tutorial on Agile Development and eXtreme programming, written by one of the founding father of Agile development, teaches software developers and project managers how to get projects done on time, and on budget using the power ofAgile Development.
Patterns of Enterprise Application Architecture
This book discusses the evolution of Layers in Enterprise Applications, Concurrency Problems, and Object-Relational Behavioral Patterns, as well as some Technology-Specific Advice.
Patterns of Enterprise Application
  • Architecture, Addison-Wesley,
  • 2003