Content uploaded by Eero Laukkanen
Author content
All content in this area was uploaded by Eero Laukkanen on Aug 24, 2015
Content may be subject to copyright.
How to Adopt Continuous Delivery? A Research
Proposal
Eero Laukkanen1and Casper Lassenius1,2(supervisor)
1Aalto University, P.O. BOX 19210, FI-00076, Aalto, Finland,
{eero.laukkanen,casper.lassenius}@aalto.fi
2Massachusetts Institute of Technology, Sloan School of Management
Abstract. Continuous delivery is a software development discipline in
which software can be released to production at any time. The proposed
dissertation aims to understand the problems that emerge when adopting
continuous delivery and find solutions to those problems. The goal is
reached by performing a systematic literature review followed by case
studies. Root cause analysis is utilized as a data collection method in
some of the case studies. The contribution of the dissertation will be a
theory on how continuous delivery can be adopted.
Key words: continuous integration, continuous delivery, continuous de-
ployment
1 Introduction
Continuous delivery (CD) is a software development discipline in which software
can be released to production at any time [1]. The discipline is achieved through
optimization, automatization and utilization of the build, deploy, test and release
process [2]. The proposed benefits of CD are increased visibility, faster feedback
and empowerment of stakeholders [2]. However, when trying to adopt CD, orga-
nizations have faced numerous challenges and problems [3, 4]. Even continuous
integration (CI), which is a prerequisite for CD [2], has not been adopted in
some cases [5].
The dissertation aims to gain deep understanding of the problems when
adopting CD and build solutions to those problems. Since the already found
problems have been numerous [3, 4], we believe that simply finding the prob-
lems is not enough, but we need to analyze the causal structure of the problems
in order to solve them. In general, software engineering project failures tend to
be caused by complex causal structure of different failure factors [6]. Our hy-
pothesis is that the adoption problems of CD are similar and they cannot be
solved in isolation from each other.
To understand the adoption problems of CD, the following research questions
are asked:
1. What problems are faced when adopting CD for a software product? With
this question, we explore what kind of problems emerge when adopting CD.
2 Eero Laukkanen, Casper Lassenius
2. What are the causes for those problems? With this question, we explain why
the problems happen when adopting CD.
3. What solutions can be used for solving those problems? With this question,
we explore available solutions for CD adoption problems.
Answering these questions builds the basis for knowledge about adopting CD
and should be valuable for organizations pursuing CD. The focus of the research
questions is on individual software products instead of whole organizations, be-
cause it is possible that problem causes when adopting CD can vary between
products.
2 Literature review
Studies on continuous integration and continuous deployment are introduced
here, because the adoption problems of those practices often cause problems for
CD too. The difference between the practices is discussed in [1].
Downs et al. [7] recognized the importance of communication when prac-
ticing continuous integration. With increased communication, they discovered
quantitative and qualitative improvements in a case study. Thus, insufficient
communication can be problematic when adopting CD.
St˚ahl and Bosch [5] studied the experienced positive effects of continuous
integration and found that the effects differ between cases. They also noticed
that some cases do not perceive the positive effects at all. Afterwards, they
constructed a model for describing automated integration flows and found that
different cases have very different flows, which might cause the difference between
positive effects. Our research aims to understand how distinct differences affect
the outcomes.
Eck et al. [8] studied how organizations assimilate continuous integration
practice. They propose that the assimilation happens through three stages and
found organizational implications for each stage. Olsson et al. [9] studied the
usual path organizations go through when they advance software development
practices. In their stairway to heaven model, organizations evolve from agile
R&D department to continuous integration and finally to continuous deploy-
ment. In this study, we are interested in the transition from the agile R&D
department to continuous deployment.
Bellomo et al. [10] studied how design decisions affected the deployment of
the software artifacts. Their study indicates that while the automation of the
release process is important, the practice of CD requires making correct design
decisions too.
While there exists increasing interest studying CD, none of the previous
studies try to analyze the causal structure of adoption problems. This gap is to
be filled with the proposed dissertation.
How to Adopt Continuous Delivery? 3
Table 1. Studies and Schedule of the Dissertation
Subject Method Schedule
1. CD adoption problems and solutions SLR Spring 2015
2. Individual views on the adoption of CD CS Fall 2015
3. Deep understanding of CD adoption problems with root
cause analysis
CS Spring 2016
4. Impact of the corrective actions on adopting CD CS Fall 2016
5. Generalization of CD adoption problems and solutions Multi-CS Spring 2017
Summary for the dissertation – Spring 2018
3 Research methodology
The dissertation will consist of five empirical qualitative studies (Table 1). First,
a systematic literature review (SLR) [11] is executed to summarize existing re-
search and experience reports on the subject. The SLR will include empirical
studies and experience reports which are qualitatively synthesized into a theory
of adoption problems and solutions. Second, the theory is refined through a sin-
gle case study [12] focusing on problems perceived by individuals in a project
adopting CD. Individual analysis is done, because it is believed that the per-
ceptions between individuals differ. Third, a single case study will be performed
using ARCA root cause analysis method [13] to study adoption problems in a
single case and to innovate solutions to the problems. Fourth, the impact of these
solutions is investigated in a follow-up study. Fifth, the root cause analysis is
performed in other cases too, and the results are synthesized into a generalized
theory.
Data sources for the case studies are Finnish software companies in the Digile
Need for Speed program that continues until 2017. Thus, there is an opportunity
to conduct long-term longitudinal case studies of CD adoption. The selection of
data sources for the case studies is done partly based on convenience, but also
according to the research goals. The subject of the research program is tightly
related to CD, so it is expected that the case companies are also valid subjects
for the studies.
4 Results and future agenda
The systematic literature review is in writing and will complete in near future.
Data collection for the single case study has been executed partially. The design
for the first root cause analysis case study has been done and the data collection
will begin in the near future.
The initial results of systematic literature review indicate that numerous
problems when adopting CD have been identified and some of them could be
solved. However, we found that there is a lack of causal analysis done on the
problems. This indicates that our future agenda on root cause analysis will pro-
vide improvement on the current knowledge.
4 Eero Laukkanen, Casper Lassenius
References
1. Fowler, M.: ContinuousDelivery (May 2013), http://martinfowler.com/bliki/
ContinuousDelivery.html
2. Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases Through
Build, Test, and Deployment Automation. Addison-Wesley Professional, 1st edn.
(2010)
3. Claps, G.G., Svensson, R.B., Aurum, A.: On the journey to continuous deploy-
ment: Technical and social challenges along the way. Information and Software
Technology 57(0), 21 – 31 (2015)
4. Debbiche, A., Dien´er, M., Berntsson Svensson, R.: Challenges When Adopting
Continuous Integration: A Case Study. In: Product-Focused Software Process Im-
provement. Lecture Notes in Computer Science, vol. 8892, pp. 17–32. Springer
International Publishing (2014)
5. St˚ahl, D., Bosch, J.: Automated Software Integration Flows in Industry: A
Multiple-case Study. In: Companion Proceedings of the 36th International Confer-
ence on Software Engineering. pp. 54–63. New York, NY, USA (2014)
6. Lehtinen, T.O., M¨antyl¨a, M.V., Vanhanen, J., Itkonen, J., Lassenius, C.: Perceived
Causes of Software Project Failures–An Analysis of their Relationships. Informa-
tion and Software Technology 56(6), 623–643 (2014)
7. Downs, J., Plimmer, B., Hosking, J.: Ambient awareness of build status in collo-
cated software teams. In: 34th International Conference on Software Engineering.
pp. 507–517 (Jun 2012)
8. Eck, A., Uebernickel, F., Brenner, W.: Fit for Continuous Integration: How Or-
ganizations Assimilate an Agile Practice. In: Twentieth Americas Conference on
Information Systems. Savannah, Georgia, USA (2014)
9. Olsson, H., Bosch, J.: Towards agile and beyond: An empirical account on the
challenges involved when advancing software development practices. Lecture Notes
in Business Information Processing 179 LNBIP, 327–335 (2014)
10. Bellomo, S., Ernst, N., Nord, R., Kazman, R.: Toward Design Decisions to Enable
Deployability: Empirical Study of Three Projects Reaching for the Continuous
Delivery Holy Grail. In: 2014 44th Annual IEEE/IFIP International Conference
on Dependable Systems and Networks (DSN). pp. 702–707 (Jun 2014)
11. Kitchenham, B.: Guidelines for performing systematic literature reviews in software
engineering. Tech. rep., Keele University Technical Report (2007)
12. Runeson, P., H¨ost, M.: Guidelines for conducting and reporting case study research
in software engineering. Empirical Software Engineering 14(2), 131–164 (2009)
13. Lehtinen, T.O., M¨antyl¨a, M.V., Vanhanen, J.: Development and evaluation of a
lightweight root cause analysis method (ARCA method)–field studies at four soft-
ware companies. Information and Software Technology 53(10), 1045–1061 (2011)