Investigando os efeitos das más práticas de integração contínua em projetos de software industriais - Silva, Ruben Blenicio Tavares (2023)
The practice of Continuous Integration (CI) is pivotal for the efficiency of software development processes, enabling frequent code integration and early error detection. However, its improper implementation can result in poor practices that compromise the effectiveness of CI and the final product’s quality. This research aimed to identify, understand, and mitigate the effects of CI’s bad practices in industrial projects. In investigating the most common bad practices, it was found that issues such as improper use of feature branches, divergent branches, and lack of developer control over the environment were recurrent. These bad practices adversely impacted industrial projects, affecting code stability, increasing development time and cost, and decreasing team productivity. Regarding software quality, it was discovered that proper implementation of CI positively affected internal quality attributes. There was an overall increase in code cohesion following CI adoption, indicating a positive correlation between well-executed CI and an improvement in code structure. However, unresolved bad practices negatively impacted software quality over time, reflecting impaired quality indicators and static code analysis. Analyzing the interaction between CI and Code Review (CR), significant correlations were identified between CI metrics and various aspects of CR, such as execution time and review time. CI bad practices, like branch divergences and inadequate testing, adversely influenced CR, increasing the reviewers’ workload and delaying the identification and correction of code issues. These findings underscore the importance of implementing and maintaining efficient CI practices to achieve desired benefits. Mitigating CI’s bad practices not only enhances the quality of the final product but also boosts development team satisfaction and streamlines code review and correction processes.