An Investigation of Integration Debt in Continuous Integration - A design science study
Abstract: Continuous integration is a commonly used method in software development. It isused to improve the development process by prescribing frequent code integrationand testing and thereby creating a mechanism for early feedback. To optimizethe use of continuous integration in large scale development in regards to codeintegration, this study introduced a new term called integration debt. The conceptis borrowed from the notion of technical debt, applied to continuous integrationand the factors that are involved in this integration debt (which happens due tounintegrated code) are investigated. In this study, a set of integration debt factors isdefined and the relationships between the factors are mapped and analyzed. This isdone through design science research methodology where the artifact is the mappingof integration debt factors and the set of factors itself. Using various data gatheringmethods, a set of factors that are involved in integration debt are identified andvalidated. These factors were lines of code in commits, the number of modifiedfiles in commits, code churn, frequency of commits, code dependency, developmentoverlap and lastly the factors related to the organization’s CI system.Additionally, this study investigates, and evaluates, a potential threshold value forone of the factors where the threshold is for when that factor reaches a significantrisk to integration. Defining a general and accurate threshold proved to be difficultwhich suggests that integration debt factor thresholds require significant effort todefine. This could perhaps be investigated further in future research. Consequently,the findings of this research study build a foundation for integration debt and howit could be mapped and measured. This can aid companies that work with largescale development, to better manage the integration debt level across their projectby taking appropriate actions to avoid large accumulated debt levels. This potentiallylowers the costs for companies and reduces the extra effort required to resolveintegration problems during development.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)