Release management process in a software service company

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Ask about the availability of the thesis by sending email to the Aalto University Learning Centre oppimiskeskus@aalto.fi
Date
2016-06-07
Department
Major/Subject
Teollisuustalous
Mcode
TU3001
Degree programme
Tuotantotalouden koulutusohjelma
Language
en
Pages
56 + 2
Series
Abstract
Release management is an often overlooked part of the software development process. It is the process through which software is made available to its users. The goal of release management is to deliver the correct set of software features with the best possible quality. Thus it is tightly coupled with release planning, which is the process of selecting appropriate features for future releases, and testing, which is the process of finding defects in the software. This Master's thesis aims to find key success factors for a release management process in a software service company. Another goal is to identify factors that influence release management decisions and the design of the release management process. The study focuses on small and medium-sized enterprises which operate in a software service model. The study begins with a review of the key literature about release management, software development processes, release planning and testing. The literature review provides a theoretical framework for the empirical part of the study. The empirical part of the thesis is a multiple case study of release management processes at seven finnish software service companies. A synthesis of the found release management characteristics and decision-making factors is presented. The study found four key factors that are seen as crucial for a successful release management process. First, releases should be small and frequent, enabling fast delivery of new features and fixes to the user. Second, the deployment process should be automated to minimize human error and facilitate frequent deployments. Third, there should be an easy way to roll back a release in case of a failure, which mitigates the risk of each software release. Fourth, the delivered features should be as small as possible. Combined with frequent releases, this provides a quick feedback loop from user to product development.

Julkaisunhallinta on usein ylenkatsottu osa ohjelmistokehitysprosessia. Julkaisunhallinta on prosessi, jolla ohjelmisto toimitetaan käyttäjien saataville. Sen tavoitteena on toimittaa oikeat toiminnallisuudet parhaalla mahdollisella laadulla. Julkaisunhallinta liittyy kiinteästi julkaisunsuunnitteluun, jossa valitaan sopivat toiminnallisuudet toteuttevaksi seuraavaaviin julkaisuihin, sekä testaukseen, jonka tavoitteena on etsiä virheitä ohjelmistosta. Tämän diplomityön tavoitteena on löytää kriittiset menestystekijät ohjelmistopalveluyrityksen julkaisunhallintaprosessissa. Toinen tavoite on tunnistaa tekijöitä jotka vaikuttavat julkaisunhallintapäätöksiin ja julkaisunhallintaprosessin suunnitteluun. Tämä työ keskittyy pieniin ja keskisuuriin ohjelmistopalveluyrityksiin. Tutkimus alkaa kirjallisuuskatsauksella, jossa tarkastellaan oleellista kirjallisuutta julkaisunhallinnasta, ohjelmistokehitysprosesseista, julkaisunsuunnittelusta sekä testauksesta. Kirjallisuuskatsauksen tuloksena on teoreettinen viitekehys työn empiiristä osaa varten. Empiirinen osa on monitapaustutkimus julkaisunhallintaprosesseista seitsemässä suomalaisessa ohjelmistopalveluyrityksessä. Lopuksi kirjallisuuskatsauksessa ja tapaustutkimuksessa löydetyt menestystekijät ja päätöksentekoon vaikuttavat tekijät vedetään yhteen. Tutkimuksessa löytyi neljä tekijää, joita pidetään tärkeänä onnistuneen julkaisunhallintaprosessin kannalta. Ohjelmistojulkaisujen pitäisi olla pieniä ja niitä pitäisi tehdä taajaan, jotta käyttäjille saadaan toimitettua uusia ominaisuuksia ja korjauksia nopeasti. Ohjelmiston päivittämisen tulisi olla pitkälti automatisoitua, jotta saadaan minimoitua inhimillisten virheiden riski ja mahdollistetaan tiheät päivitykset. Päivitysten peruuttamisen pitäisi olla virhetilanteessa helppoa, millä vähennetään kunkin päivityksen riskiä. Toimitettujen ominaisuuksien pitäisi olla niin pieniä kuin mahdollista. Yhdistettynä tiheään julkaisurytmiin tämä mahdollistaa nopean reagoinnin käyttäjien toiveisiin.
Description
Supervisor
Tanskanen, Kari
Thesis advisor
Pesonen, Tuomo
Keywords
release management, release planning, release engineering, software-as-a-service
Other note
Citation