An Ethnographic Study on the CI of A Large Scale Project

Zikuan Wang,Bohan Liu,Zeye Zhan,He Zhang,Gongyuan Li
DOI: https://doi.org/10.1145/3639477.3639750
2024-01-01
Abstract:Continuous Integration (CI) is the foundation for achieving rapid iteration and short-cycle delivery. To achieve CI, a series of best practices and solutions have been proposed, which are referred to as patterns. However, there is a natural contradiction between the speed and continuity pursued by CI and the ever-expanding project scale and complexity. Various factors such as project size, outdated system architecture, complex organizational structure, or limited server resources can all lead to deviations from patterns in CI practices, resulting in anti-patterns. We conducted an ethno-graphic research to investigate the current state, anti-patterns, and challenges in resolving anti-patterns of the CI process within a large communication project at a globally leading IT company. We conducted a deep observation and participation in the project for seven months and conducted multiple rounds of interviews with related developers in the company. The project adopts a CI pipeline that has a three-level hierarchical structure. We evaluated the company's software development practices based on the pattern list. We identified three anti-patterns that contradicted the patterns listed, and we also discovered three new anti-patterns that were not on the list. Further, we analyzed the challenges of solving these anti-patterns. Additionally, we found seven better practices and analyzed why they are better.
What problem does this paper attempt to address?