Anders Klint, Vilhelm Åkerström:
Continuous Delivery: Challenges, Best Practices, and Important Metrics,
summary,
report, June 2020.
Abstract:
With the rise of agile methods in the software industry, automating the delivery process using Continuous Delivery (CD) has become a desirable goal. However, achieving a healthy CD-pipeline is not an easy task, let alone maintaining one. This thesis aims to investigate what challenges are related to CD, best practices to mitigate these, as well as to analyse which metrics could be important in monitoring the performance of a CD-pipeline. In order to answer these questions a combination of literature studies, interviews with developers, and an implementation of a proof of concept for displaying potentially useful metrics from a chosen team's pipeline was utilised. Additionally, some practitioners were interviewed and surveyed in order to gather their opinion about which of these metrics were useful for improving a CD-pipeline.
This resulted in a list of challenges and best practices in relation to CD, as well as a list of metrics considered important when looking to improve the efficiency of a CD-pipeline. These metrics were used to find two major bottlenecks in a chosen team's pipeline; one caused by limited licenses to a unit testing tool, and one caused by generating documentation unnecessarily often. In terms of challenges the majority of them were related to automation and human or organisational factors such as a lack of resources or discipline. Some of the important best practices were having shared responsibility between developers of the CD-pipeline, and utilising automation by making sure that it is a priority.
These challenges, best practises, and metrics could assist practitioners or fellow researchers in finding potential improvements of CD-pipelines, and the investigation of the chosen team could serve as an example where these findings had a positive effect by finding bottlenecks of a team's pipeline.