Adoption problems of modern release engineering practices

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
School of Science | Doctoral thesis (article-based) | Defence date: 2017-12-21
Date
2017
Major/Subject
Mcode
Degree programme
Language
en
Pages
62 + app. 112
Series
Aalto University publication series DOCTORAL DISSERTATIONS, 220/2017
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.

Ohjelmistojen julkaisutekniikalla tarkoitetaan prosessia, jolla yksittäiset ohjelmistoon tehdyt muutokset julkaistaan loppukäyttäjille hyvällä laadulla. Modernit julkaisutekniikat korostavat käännös-, testi- ja asennusautomaatiota ja yhteistyötä funktionaalisten rajojen yli, jotta julkaisuprosessi olisi nopea ja takaisi hyvän laadun. Vaikka jotkin yritykset ovat onnistuneet modernien julkaisutekniikoiden käyttöönotossa, toiset ovat kohdanneet tekniikoiden omaksumisessa ongelmia. Tässä väitöskirjassa pyrimme ymmärtämään mikä estää organisaatioita omaksumasta moderneja julkaisutekniikoita. Toteutimme ensin systemaattisen kirjallisuuskatsauksen, jossa kartoitimme ongelmia, ongelmien syitä ja ratkaisuja modernien julkaisutekniikoiden omaksumisessa. Tämän jälkeen suoritimme neljä tapaustutkimusta, joissa käytimme laadullisia haastatteluita ja ohjelmistovarastojen louhimista tiedonkeruumenetelminä. Ensimmäisessä tapaustutkimuksessa selvitimme omaksumisongelmia hajautetussa organisaatiossa. Jatkoimme saman organisaation tutkimista toisessa tapaustutkimuksessa, jossa tarkastelimme, kuinka julkaisun vakauttamisaikaa voitiin lyhentää omaksumisen jälkeen. Kolmannessa tapaustutkimuksessa tutkimme, kuinka vaihe-portti-kehitysprosessin käyttö selittää omaksumisongelmia. Lopuksi neljännessä tapaustutkimuksessa vertailimme kahta organisaatiota, joilla oli erilaiset organisatoriset kontekstit mutta samankaltaiset tuotteet, jotta pystyimme vertailemaan erilaisten organisatoristen kontekstien vaikutusta omaksumisongelmiin. Tässä väitöskirjassa tunnistettiin, että modernien julkaisutekniikoiden omaksuminen vähentää ohjelmiston vakauttamiseen tarvittavaa aikaa ennen ohjelmiston asennusta. Modernien julkaisutekniikoiden omaksumisongelmat kategorisoitiin teknisiin ja sosiaalisiin ongelmateemoihin. Tekniset omaksumisongelmat sisältävät käännös- (hidas, monimutkainen tai joustamaton käännös), testi- (hidas, epäluotettava tai riittämätön testaus) ja asennusautomaatio-ongelmat (hidas, monimutkainen tai epäluotettava asennus), ja sosiaaliset omaksumisongelmat sisältävät organisatoriset (resurssien ja koordinoinnin puute) ja yksilölliset (motivaation tai kokemuksen puute) omaksumisongelmat. Näitä primäärisiä ongelmia selittävät kolme selitystekijää: ohjelmiston arkkitehtuuri (järjestelmä ei testattava tai asennettava) selittää teknisiä omaksumisongelmia, organisatorinen hajautus (vaikeampi kommunikointi, motivointi ja koordinointi) selittää sosiaalisia omaksumisongelmia ja puutteelliset resurssit selittävät molempia ongelmateemoja. Organisaatiot voivat käyttää tämän väitöskirjan tuloksia suunnitellessaan prosessejaan ja käytäntöjään, jotta ne sopivat moderneille julkaisutekniikoille.
Description
Supervising professor
Lassenius, Casper, Prof., Aalto University, Department of Computer Science, Finland
Thesis advisor
Itkonen, Juha, Dr., Nitor Delta Oy, Finland
Paasivaara, Maria, Prof., University of Copenhagen, Denmark
Keywords
software engineering, release engineering, adoption, continuous integration, continuous delivery, continuous deployment, devops, case study, systematic literature review, ohjelmistotuotanto, julkaisutekniikka, käyttöönotto, jatkuva integrointi, jatkuva toimitus, jatkuva asennus, devops, tapaustutkimus, systemaattinen kirjallisuuskatsaus
Parts
  • [Publication 1]: Eero Laukkanen, Juha Itkonen, Casper Lassenius. Problems, causes and solutions when adopting continuous delivery - A systematic literature review. Information and Software Technology, 82, 55–79, February 2017.
    DOI: 10.1016/j.infsof.2016.10.001 View at publisher
  • [Publication 2]: Eero Laukkanen, Maria Paasivaara, Teemu Arvonen. Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study. In Proceedings of the 2015 Agile Conference, Washington, D.C., 11–20, August 2015.
    DOI: 10.1109/Agile.2015.15 View at publisher
  • [Publication 3]: Eero Laukkanen, Maria Paasivaara, Juha Itkonen, Casper Lassenius, Teemu Arvonen. Towards Continuous Delivery by Reducing the Feature Freeze Period: A Case Study. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, Buenos Aires, Argentina, 23–32, May 2017.
    DOI: 10.1109/ICSE-SEIP.2017.21 View at publisher
  • [Publication 4]: Eero Laukkanen, Timo O.A. Lehtinen, Juha Itkonen, Maria Paasivaara, Casper Lassenius. Bottom-up Adoption of Continuous Delivery in a Stage-Gate Managed Software Organization. In Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, Ciudad Real, Spain, 45:1–45:10, September 2016.
    DOI: 10.1145/2961111.2962608 View at publisher
  • [Publication 5]: Eero Laukkanen, Maria Paasivaara, Juha Itkonen, Casper Lassenius. Comparison of Release Engineering Practices in a Large Mature Company and a Startup. Submitted to Empirical Software Engineering, May 2017
Citation