Perinteisestä ohjelmistotuotannosta DevOps-toimintamalliin: Miten DevOps vastaa perinteisen ohjelmistotuotannon ongelmiin?
Mikkola, Tommi (2020)
Mikkola, Tommi
2020
Teknis-taloudellinen kandidaattiohjelma - Bachelor's Programme in Business and Technology Management
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-12-14
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202012098651
https://urn.fi/URN:NBN:fi:tuni-202012098651
Tiivistelmä
Tämän kandidaatintyön tarkoituksena oli tutkia miten DevOps-toimintamalli vastaa perinteisen ohjelmistotuotannon toimintamallin ongelmiin. DevOps-toimintamalli on syntynyt korjaamaan yleisiä ohjelmistotuotannon haasteita ja sen tavoitteena on nopeuttaa kehitettävän ohjelmiston julkaisusykliä, parantaa julkaistavan ohjelmiston laatua ja tuoda sujuva yhteistyö kehitystyön sekä operatiivisen toiminnan osastojen välille.
Tutkimus toteutettiin kirjallisuuskatsauksena. Tutkimusaineistoa on haettu Tampereen yliopiston tietokannoista tieteellisten artikkelien, konferenssijulkaisujen sekä kirjojen muodossa. Tutkimuksessa käsiteltiin perinteisen ohjelmistotuotannon sekä DevOps-toimintamallin ratkaisevia eroja. Työssä avattiin perinteisen ohjelmistotuotannon käsitettä ja esitettiin tunnettuja haasteita sekä ongelmia siihen liittyen. Tutkimuksessa todettiin perinteisen ohjelmistotuotannon koostuvan nykypäivänä suurimmaksi osin vesiputousmallista sekä ketterästä toimintamallista. DevOps-toimintamallia tarkasteltiin kolmen osa-alueen kautta, jotka ovat yhteistyökulttuuri, käytännöt ja työkalut, joita peilattiin perinteisen ohjelmistotuotannon ongelmiin. Tulokset tuotiin yhteen taulukon avulla, jossa nähdään perinteisen ohjelmistotuotannon sekä DevOps-toimintamallin tärkeimmät erot.
Tutkimuksessa selvisi, että perinteisen ohjelmistotuotannon ongelmien perustana on vahvat juuret toiminnallisten osastojen siiloutumiseen eli kehitystyön sekä operatiivisen toiminnan kahtiajakoon. Ohjelmiston kehitystyön tullessa valmiiksi, vastuu ohjelmistosta siirtyy julkaisua koordinoivalle operatiiviselle toiminnalle. Tällöin kehitystyö ei ole aina linjassa operatiivisen toiminnan tekemien muutosten kanssa ja toisinpäin. Perinteisen ohjelmistotuotannon julkaisusyklit kestävät noin 2 viikkoa. Pitkä julkaisusykli kasvattaa ohjelmiston julkaisukokoa eli ohjelmistoja kehitetään suurissa erissä. Tämä tuo haasteita käyttäjille julkaistavan ohjelmiston testaamiseen, sillä virheitä saattaa ilmetä suuria määriä kerralla. Siiloutumisen takia julkaisusykliä on vaikea lyhentää, sillä osastojen välille syntyy pullonkauloja. DevOps-toimintamallissa ymmärretään, että suuret julkaisukoot ovat monimutkaisia ja siinä organisaatiorakenteen sekä osastojen välisen yhteistyökulttuurin avulla pystytään automaatiota käyttämällä lyhentämään julkaisusyklit päiviin tai jopa tunteihin. Näin voidaan työskennellä hyvin pienissä erissä, jolloin havaitut virheet pystytään korjaamaan nopeasti.
Tutkimus toteutettiin kirjallisuuskatsauksena. Tutkimusaineistoa on haettu Tampereen yliopiston tietokannoista tieteellisten artikkelien, konferenssijulkaisujen sekä kirjojen muodossa. Tutkimuksessa käsiteltiin perinteisen ohjelmistotuotannon sekä DevOps-toimintamallin ratkaisevia eroja. Työssä avattiin perinteisen ohjelmistotuotannon käsitettä ja esitettiin tunnettuja haasteita sekä ongelmia siihen liittyen. Tutkimuksessa todettiin perinteisen ohjelmistotuotannon koostuvan nykypäivänä suurimmaksi osin vesiputousmallista sekä ketterästä toimintamallista. DevOps-toimintamallia tarkasteltiin kolmen osa-alueen kautta, jotka ovat yhteistyökulttuuri, käytännöt ja työkalut, joita peilattiin perinteisen ohjelmistotuotannon ongelmiin. Tulokset tuotiin yhteen taulukon avulla, jossa nähdään perinteisen ohjelmistotuotannon sekä DevOps-toimintamallin tärkeimmät erot.
Tutkimuksessa selvisi, että perinteisen ohjelmistotuotannon ongelmien perustana on vahvat juuret toiminnallisten osastojen siiloutumiseen eli kehitystyön sekä operatiivisen toiminnan kahtiajakoon. Ohjelmiston kehitystyön tullessa valmiiksi, vastuu ohjelmistosta siirtyy julkaisua koordinoivalle operatiiviselle toiminnalle. Tällöin kehitystyö ei ole aina linjassa operatiivisen toiminnan tekemien muutosten kanssa ja toisinpäin. Perinteisen ohjelmistotuotannon julkaisusyklit kestävät noin 2 viikkoa. Pitkä julkaisusykli kasvattaa ohjelmiston julkaisukokoa eli ohjelmistoja kehitetään suurissa erissä. Tämä tuo haasteita käyttäjille julkaistavan ohjelmiston testaamiseen, sillä virheitä saattaa ilmetä suuria määriä kerralla. Siiloutumisen takia julkaisusykliä on vaikea lyhentää, sillä osastojen välille syntyy pullonkauloja. DevOps-toimintamallissa ymmärretään, että suuret julkaisukoot ovat monimutkaisia ja siinä organisaatiorakenteen sekä osastojen välisen yhteistyökulttuurin avulla pystytään automaatiota käyttämällä lyhentämään julkaisusyklit päiviin tai jopa tunteihin. Näin voidaan työskennellä hyvin pienissä erissä, jolloin havaitut virheet pystytään korjaamaan nopeasti.
Kokoelmat
- Kandidaatintutkielmat [9897]