Adoption problems of modern release engineering practices

Eero Laukkanen

Research output: ThesisDoctoral ThesisCollection of Articles

Abstract

Release engineering means the process of bringing the individual changes made to a software system to the end users of the software with high quality. The modern release engineering practices emphasize using build, test and deployment automation and facilitating collaboration across functional boundaries, so that it is possible to achieve both speed and quality in the release engineering process. While some companies have been successful in adopting modern release engineering practices, other companies have found the adoption to be problematic. In this dissertation, we aim to understand what prevents organizations from adopting modern release engineering practices. First, we conducted a systematic literature review to survey the literature about the adoption problems, their causes and solutions. In addition, we conducted four case studies which included qualitative interviews and software repository mining as data collection methods. In the first case study, we investigated the adoption problems in a distributed organization. The case study was extended in a follow-up case study, in order to see how the release stabilization period could be reduced after the adoption efforts. In the third case study, we focused on the consequences of the stage-gate development process and how it explained the adoption problems. Finally, we compared two organizations with different organizational contexts working with similar products in the fourth case study, in order to compare the effects of different organizational contexts. This dissertation identifies, that adopting modern release engineering practices decreases the time needed for stabilizing a software system before it can be deployed. Problems during the adoption of modern release engineering practices are categorized under problem themes of technical adoption and social adoption. Technical adoption problems include build automation (slow, complex or inflexible build), test automation (slow, unreliable or insufficent tests) and deployment automation (slow, complex or unreliable deployment) problems, and social adoption problems include organizational adoption (lack of resources or coordination) and individual adoption (lack of motivation or experience) problems. These primary problems can be explained with three identified explanations: system design (system not testable or deployable) explains technical adoption problems, organizational distribution (more difficult communication, motivation and coordination) explains social adoption problems and limited resources explain both adoption problem themes. Organizations can use the results of the dissertation to design their software processes and practices accordingly to suit modern release engineering practices.
Translated title of the contributionModernien julkaisutekniikoiden käyttöönotto-ongelmat
Original languageEnglish
QualificationDoctor's degree
Awarding Institution
  • Aalto University
Supervisors/Advisors
  • Lassenius, Casper, Supervising Professor
  • Itkonen, Juha, Thesis Advisor
  • Paasivaara, Maria, Thesis Advisor
Publisher
Print ISBNs978-952-60-7713-0
Electronic ISBNs978-952-60-7714-7
Publication statusPublished - 2017
MoE publication typeG5 Doctoral dissertation (article)

Keywords

  • software engineering
  • release engineering
  • adoption
  • continuous integration
  • continuous delivery
  • continuous deployment
  • devops
  • case study
  • systematic literature review

Fingerprint

Dive into the research topics of 'Adoption problems of modern release engineering practices'. Together they form a unique fingerprint.

Cite this