Andreas Erlandsson, Hannes Lantz:
Improving Feedback Loop by Two-step Continuous Integration,
summary,
report, May 2023.
Abstract:
Long feedback times are a big problem for any software developer. Gaining feedback on a recently made change can sometimes take over 15 hours when it is only built and tested during the night. This problem creates the need for developers to work on a number of tasks in parallel. This task switching is time-consuming and hurtful to the performance of the developers. This work, therefore, sets out to try to bring feedback in 15 minutes or less as desired by the developers. The research questions of our work are: RQ1 - What are the key considerations and practices for designing a suitable pipeline for the case company? RQ2 & RQ3 - What strategies for reducing build respectively test times are suitable for the case company?
The methods used to investigate our research questions are a combination of literature study, interviews, and experimental implementation of a pipeline solution at the case company.
To summarise our results we managed to build an automatic pipeline that enables the developer to gain feedback on changes when needed, instead of waiting for the nightly integration process. The build times for this pipeline were reduced by only building the bare minimum of what was necessary. The test times were reduced drastically which was possible through the use of test selection and parallel test execution. Together these results solve the initial problem of long feedback times. The implemented pipeline brings the developers feedback in less than 15 minutes. Additionally, it also has room for further improvements and added functionality.