Release and Deployment Management in a Scrum Team : A Case Study
Ailasmaa, Saku (2024-04-29)
Release and Deployment Management in a Scrum Team : A Case Study
Ailasmaa, Saku
(29.04.2024)
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
avoin
Julkaisun pysyvä osoite on:
https://urn.fi/URN:NBN:fi-fe2024043024488
https://urn.fi/URN:NBN:fi-fe2024043024488
Tiivistelmä
Release and Deployment Management is a process for managing the delivery of new or updated software. On a practical level, Release and Deployment Management mean all the activities that happen to the software after a new version of it has been created by the Developer and before the software is used by the end customer. This includes such activities as building and packaging the software, running automated tests, deployments to test environments and finally deployment of the release to the live environment. On top of this, all the created release candidates should be easy to keep track of and there should be adequate logging of the aforementioned actions in place.
This thesis uses the migration process of Release and Deployment Management tools as a case study to study how Release and Deployment Management affects the daily work in a Scrum team developing software. The study starts with a literature review on IT literature on Release and Deployment Management to build a foundation on which the conducted research is based. After the literature review the pre-migration process, description of the migration, and the post-migration processes are presented. The remaining part of the study is dedicated to collecting data from the Scrum teams about Release and Deployment Management. Qualitative data is collected by interviewing the members of the Scrum and mixed data is collected by a longitudinal survey that is used to rate both the pre- and post-migration systems.
The thesis concludes that there is no single way to do Release and Deployment Management, instead the process should be tailored for the software that is developed and it has to be iteratively improved with the requirements of the project. Therefore, even though modern CI/CD solutions offer the possibility for extensive automation it still may not be the best choice if that does not fit the project. Nevertheless, a well-implemented Release and Deployment promotes agility and makes it easier to follow predefined Scrum workflows. Moreover, Release and Deployment Management supports software development by increasing the quality of the end product, and the amount of manual work needed is lowered through automation. Furthermore, it makes delivering software quicker, more transparent, predictable, replicable, flexible, smoother, safer and more stable. Additionally, it helps in recovering from failures, tracking errors and changes as well as increasing system integrity. All these factors increase software development teams’ productivity, and it saves time. However, Release and Deployment Management is perceived to support the technically oriented roles more than others. Julkaisu- ja asennustenhallinta on prosessi päivitetyn tai uuden ohjelmiston toimituksen hallitsemiseksi. Käytännön tasolla julkaisu- ja asennustenhallinta tarkoittaa vaiheita, jotka tapahtuvat ohjelmistolle sen luomisen jälkeen ja ennen kuin se on loppukäyttäjän käytössä. Tähän sisältyy vaiheita, kuten ohjelmiston rakentaminen ja paketointi, automaattisten testien suorittaminen, asennus testiympäristöihin ja viimeisenä asennus tuotantoympäristöön. Prosessiin kuuluu myös mahdollisuus julkaisukandidaattien muutosten seurantaan ja virheiden lokitus edeltävistä vaiheista.
Diplomityössä tehdään tapaustutkimus julkaisu- ja asennustenhallintatyökalujen vaihtamisprosessista, jonka avulla selvitetään, miten julkaisu- ja asennushallinta työkalut vaikuttavat ohjelmistoa kehittävän Scrum-tiimin päivittäiseen työhön. Tutkimus alkaa kirjallisuuskatsauksesta ajankohtaiseen tietoteknilliseen kirjallisuuteen, jota käytetään perustana työssä toteutettavalle tutkimukselle. Tämän jälkeen käydään läpi julkaisu- ja asennustenhallintaprosessi ennen uusien työkalujen käyttöönottoa, käyttöönottoprosessi, ja vielä lopuksi prosessi uusien työkalujen käyttöönoton jälkeen. Työssä kerätään laadullista tietoa haastattelemalla Scrum-tiimin jäseniä, sekä määrällistä ja laadullista tietoa kyselyillä, joita käytetään vanhojen ja uusien työkalujen arvioimiseksi.
Opinnäytetyön johtopäätös on, että ei ole yhtä ainoaa tapaa hallita julkaisuja ja asennuksia, vaan prosessi pitää aina räätälöidä kehitettävän ohjelmiston perusteella ja sitä pitää kehittää iteratiivisesti projektin vaatimusten mukaisesti. Täten vaikka moderneilla CI/CD ratkaisuilla voidaankin automatisoida laajamittaisesti se ei ole välttämättä paras vaihtoehto, jos se ei sovi projektin luonteeseen. Siitä huolimatta hyvin toteutetulla julkaisu- ja asennustenhallinnalla voidaan edistää ketterää kehitystä ja helpottaa ennalta määrättyjen työnkulkujen sujuvuutta Scrum-tiimissä. Sen lisäksi sillä voidaan tukea ohjelmistokehitystä parantamalla lopputuotteen laatua, samalla vähentäen manuaalisen työn määrää automatisaatiolla. Julkaisun- ja asennustenhallinnalla voidaan myös toimittaa ohjelmistoja nopeammin, läpinäkyvimmin, ennalta arvattavammin, toistettavammin, joustavammin, sujuvammin, turvallisemmin ja vakaammin. Lisäksi se auttaa virhetilanteista elpymisessä, virheiden seurannassa ja se parantaa järjestelmien eheyttä. Edellä mainitut tekijät kasvattavat ohjelmistokehitystiimin tuottavuutta ja säästävät aikaa, mutta julkaisu- ja asennustenhallinnan koetaan tukevan teknisesti suuntautuvia rooleja enemmän kuin muita.
This thesis uses the migration process of Release and Deployment Management tools as a case study to study how Release and Deployment Management affects the daily work in a Scrum team developing software. The study starts with a literature review on IT literature on Release and Deployment Management to build a foundation on which the conducted research is based. After the literature review the pre-migration process, description of the migration, and the post-migration processes are presented. The remaining part of the study is dedicated to collecting data from the Scrum teams about Release and Deployment Management. Qualitative data is collected by interviewing the members of the Scrum and mixed data is collected by a longitudinal survey that is used to rate both the pre- and post-migration systems.
The thesis concludes that there is no single way to do Release and Deployment Management, instead the process should be tailored for the software that is developed and it has to be iteratively improved with the requirements of the project. Therefore, even though modern CI/CD solutions offer the possibility for extensive automation it still may not be the best choice if that does not fit the project. Nevertheless, a well-implemented Release and Deployment promotes agility and makes it easier to follow predefined Scrum workflows. Moreover, Release and Deployment Management supports software development by increasing the quality of the end product, and the amount of manual work needed is lowered through automation. Furthermore, it makes delivering software quicker, more transparent, predictable, replicable, flexible, smoother, safer and more stable. Additionally, it helps in recovering from failures, tracking errors and changes as well as increasing system integrity. All these factors increase software development teams’ productivity, and it saves time. However, Release and Deployment Management is perceived to support the technically oriented roles more than others.
Diplomityössä tehdään tapaustutkimus julkaisu- ja asennustenhallintatyökalujen vaihtamisprosessista, jonka avulla selvitetään, miten julkaisu- ja asennushallinta työkalut vaikuttavat ohjelmistoa kehittävän Scrum-tiimin päivittäiseen työhön. Tutkimus alkaa kirjallisuuskatsauksesta ajankohtaiseen tietoteknilliseen kirjallisuuteen, jota käytetään perustana työssä toteutettavalle tutkimukselle. Tämän jälkeen käydään läpi julkaisu- ja asennustenhallintaprosessi ennen uusien työkalujen käyttöönottoa, käyttöönottoprosessi, ja vielä lopuksi prosessi uusien työkalujen käyttöönoton jälkeen. Työssä kerätään laadullista tietoa haastattelemalla Scrum-tiimin jäseniä, sekä määrällistä ja laadullista tietoa kyselyillä, joita käytetään vanhojen ja uusien työkalujen arvioimiseksi.
Opinnäytetyön johtopäätös on, että ei ole yhtä ainoaa tapaa hallita julkaisuja ja asennuksia, vaan prosessi pitää aina räätälöidä kehitettävän ohjelmiston perusteella ja sitä pitää kehittää iteratiivisesti projektin vaatimusten mukaisesti. Täten vaikka moderneilla CI/CD ratkaisuilla voidaankin automatisoida laajamittaisesti se ei ole välttämättä paras vaihtoehto, jos se ei sovi projektin luonteeseen. Siitä huolimatta hyvin toteutetulla julkaisu- ja asennustenhallinnalla voidaan edistää ketterää kehitystä ja helpottaa ennalta määrättyjen työnkulkujen sujuvuutta Scrum-tiimissä. Sen lisäksi sillä voidaan tukea ohjelmistokehitystä parantamalla lopputuotteen laatua, samalla vähentäen manuaalisen työn määrää automatisaatiolla. Julkaisun- ja asennustenhallinnalla voidaan myös toimittaa ohjelmistoja nopeammin, läpinäkyvimmin, ennalta arvattavammin, toistettavammin, joustavammin, sujuvammin, turvallisemmin ja vakaammin. Lisäksi se auttaa virhetilanteista elpymisessä, virheiden seurannassa ja se parantaa järjestelmien eheyttä. Edellä mainitut tekijät kasvattavat ohjelmistokehitystiimin tuottavuutta ja säästävät aikaa, mutta julkaisu- ja asennustenhallinnan koetaan tukevan teknisesti suuntautuvia rooleja enemmän kuin muita.