Adoption of DevOps Practices in the Finnish Software Industry: an Empirical Study

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Sähkötekniikan korkeakoulu | Master's thesis

Date

2018-10-08

Department

Major/Subject

Control, Robotics and Autonomous Systems

Mcode

ELEC3025

Degree programme

AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)

Language

en

Pages

64+1

Series

Abstract

DevOps is a software development model with an objective to increase collaboration and information sharing between teams, produce fast feedback through frequent loops, and reduce error prone human interaction. This thesis researches the usage of these practices in the Finnish software industry by analysing a number of DevOps audits and by conducting post-mortem interviews for some of the audited organisations. As DevOps does not have an official definition, the DevOps maturity model was used as a baseline for the audits. Research methods included open and axial coding of the audits, and analysing the interviews. The aim was to understand how widely DevOps practices are being used and what are the most and least problematic areas. Results show that a lot of generally accepted software development practices which are included in the DevOps methodology are being used in the majority of organisations. These practices include the use of agile practices and proper version control. The more DevOps specific practices are used less although organisations found them equally useful. For the majority of the researched organisations, DevOps is now a standpoint for all software development. A comparison between organisations focusing mainly on the software industry and organisations focusing mainly on other industries shows that there is a clear distinction of problematic areas. Software organisations have relatively more issues in the quality assurance category, whereas the other organisations’ have relatively more problems on the environments and release category. The audited organisations were given a number of suggestions to improve their processes in the audits. The interviews showed that organisational priorities are more in the culture and management categories, whereas quality assurance and technologies and architecture were left on a smaller focus.

DevOps on ohjelmistokehitysmalli, jonka tarkoituksena on lisätä tiimien välistä yhteistyötä ja tiedonjakoa, nopeuttaa palautteen saamista lyhyillä palautesilmukoilla, sekä vähentää ihmisen virhealtista vaikutusta. Tämä diplomityön tutki näiden käytäntöjen harjoittamista suomalaisissa it-organisaatioissa. Tutkimus tapahtui analysoimalla aiemmin tehtyjä DevOps auditointeja sekä haastattelemalla osaa auditoitujen organisaatioiden henkilökunnasta. DevOps maturiteetti mallia käytettiin käsitteen pohjana, koska sillä ei ole virallista määritelmää. Tutkimusmenetelmät sisälsivät aksiaalista sekä avointa koodausta ja haastattelujen tarkempaa analysointia. Tavoitteena oli saada ymmärrys DevOps-käytäntöjen levinneisyydestä Suomessa, sekä niiden ongelmallisimmista osa-alueista. Tuloksista voi päätellä, että ohjelmistokehityksessä yleisesti hyväksytyt toimintatavat, jotka sisältyvät myös DevOps-käsitteen alle, ovat käytössä suurimmassa osassa organisaatioista. Nämä toimintatavat sisältävät esimerkiksi oikeaoppisen versionhallinnan sekä ketterien ohjelmistokehitysmenetelmien käytön. DevOpsille ominaisemmat menetelmät sen sijaan olivat selkeästi vähemmän käytettyjä, vaikkakin haastateltavat pitivät niitä yhtä hyödyllisinä. Suurin osa haastatelluista piti DevOpsia tämänhetkisen ohjelmistokehityksen lähtökohtana. Tutkimuksessa vertailtiin pääosin ohjelmistoteollisuudessa toimivien organisaatioiden ja pääosin ohjelmistoteollisuuden ulkopuolella toimivien organisaatioiden ongelmallisimpia alueita. Tulokset kertovat selkeitä ongelma-alueita kummallekin: ohjelmisto-organisaatioilla oli huomattavasti enemmän ongelmia laadunvarmistuksessa, kun taas muilla organisaatioilla oli enemmän ongelmia ohjelmistoympäristöissä ja ohjelmistojen julkaisussa. Auditoiduille organisaatioille annettiin vaihteleva määrä ehdotuksia auditointien yhteydessä. Haastattelujen perusteella organisaatioiden prioriteettina on ollut kulttuurilliset ja johdolliset kategoriat, kun taas laadunvarmistukseen ja teknologiaan sekä arkkitehtuuriin liittyvät suositukset jäivät pienemmälle huomiolle.

Description

Supervisor

Lassenius, Casper

Thesis advisor

Keränen, Tuomas

Keywords

devops, software development, automation, quality assurance

Other note

Citation