Adopting Continuous Integration - A Case Study

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2015-08-24
Department
Major/Subject
Ohjelmistotuotanto
Mcode
T3003
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
83 + 6
Series
Abstract
The practice of CI is fairly new. Although its benefits and costs have been documented to some degree in the academic literature, companies still struggle with the practicalities of adopting a CI process. CI promises a competitive advantage for companies using it: the ability to react faster to market demand, and to reduce times-to-market of software products. Although a promising prospect, especially larger projects sometimes report difficulties in achieving this benefit. This study is a case study on CI adoption and use in an industrial setting. The case context is a telecommunications software product development project at Nokia, a large Finnish company operating internationally. An observational method and thematic analysis are utilized to gather rich qualitative insight. In addition, the study focuses on broken CI builds as concrete, measurable manifestations of experienced problems. As results of this study, challenges that the case organization faces in its CI use and adoption are identified. The case organization experiences difficulties related to automated testing, infrastructure, communication, dependency management and CI practicalities. Reasons behind these challenges, and the inherent interrelations between them are explained. Further results include measurements from the CI system. The measurements underline the importance of CI and test environment set-up: the case personnel suffer from extensive disturbances to their CI process caused by environment set-up and maintenance. Test environments cause significant complications, while testing in these environments reveals few human mistakes in programming work.

CI on verrattain uusi käytäntö. Sen hyötyjä ja haittoja on tutkittu jonkun verran, mutta yrityksillä on edelleen vaikeuksia omaksua käytäntöä omiin prosesseihinsa. CI:n väitetään olevan kilpailuetu yrityksille: se auttaa mukautumaan markkinoihin nopeammin ja vähentämään ohjelmistokehityksen läpivientiaikoja. Tämän etulyöntiaseman saavuttaminen on yrityksille erittäin tavoiteltavaa. Kuitenkin, etenkin suuremmissa projekteissa CI:n käyttöönotto luvattujen hyötyjen lunastamiseksi on koettu haastavaksi. Tämä on tapaustutkimus CI:n omaksumisesta ja käytöstä ohjelmistoteollisuudessa. Tutkimus on tehty telekommunikaatioympäristössä, kohdistuen erääseen tuotekehitysprojektiin Nokialla. Tutkimuksessa tunnistetaan haasteita, joita tutkitulla organisaatiolla on CI:n käytössä ja käyttöönotossa. Pääasialliset tiedonkeruu- ja analyysimenetelmät ovat havainnointi ja temaattinen analyysi. Näiden lisäksi tutkitaan epäonnistuneita ajoja CI-järjestelmässä. Näistä saadaan erilaisia mittauksia ilmentämään havaittuja ongelmia käytännössä. Asiantuntija-arviot epäonnistuneiden ajojen syistä yhdistettynä mittauksiin CI-järjestelmästä antavat mitattavia todisteita erinäisistä ongelmista ja niiden vaikutuksista. Tutkimuksen tuloksena syntyy kokonaiskuva kohdeorganisaation CI-käytön ongelmista. Ongelmat liittyvät korkealla tasolla automaattiseen testaukseen, laitteisto- ja ohjelmistoinfrastruktuuriin, ihmisten väliseen viestintään, riippuvuuksien hallintaan ja CI-käytäntöihin. Tulosten yhteydessä esitellään tarkempia kuvauksia haasteiden perisyistä ja niiden keskinäisistä suhteista. Lisäksi tuloksiin sisältyy mittauksia CI-järjestelmästä. Näiden mittausten perusteella teknisten CI- ja testausympäristöjen hallinta on tärkeää CI-prosessille. Ympäristöistä ja niiden ylläpidosta aiheutuu tutkimusorganisaatiossa laajoja häiriöitä CI-prosessiin. Ympäristöissä suoritetussa testauksessa paljastetaan melko vähän ohjelmointivirheitä suhteessa siihen, kuinka usein ympäristöt itse aiheuttavat ongelmia.
Description
Supervisor
Lassenius, Casper
Thesis advisor
Itkonen, Juha
Keywords
continuous integration, agile software development, case study, process improvement, CI, ASD
Other note
Citation