Skip to main content
  • Yhteystiedot
  • Etsi

    Kattava opas alustakehitykseen

    Pysy kilpailukykyisenä platform engineeringin avulla

    platform engineering-hand-eficode-illustration

    “Useimmat yritykset epäonnistuvat DevOpsin skaalaamisessa, elleivät ne ota käyttöön jaettuja itsepalvelualustamalleja.”

    Gartner, 2022 Tutkimustiivistelmä DevOpsista

    Yritykset jotka haluavat hyödyntää parhaat DevOps-käytännöt liiketoiminnassa keskittyvät yhä enemmän kehittäjäalustaan joka tarjoaa erinomaisen kehittäjäkokemuksen (DX). Ilman hyvää kehittäjäkokemusta DevOps-käytännöt eivät välttämättä tuota haluttuja tuloksia, ja saattavat pahimmillaan  johtaa alentuneeseen tuottavuuteen. On oleellista houkuttella ja pitää parhaat kehittäjät poistamalla ohjelmistokehitystyöstä aikaa vievät turhat työt.

    Mikropalveluarkkitehtuurin ja Kubernetesin suosion kasvaessa ohjelmistokehityskäytännöt ovat muuttuneet yhä monimutkaisemmiksi. Platform engineering (Alustakehitys) nousee arvokkaaksi käytännöksi, joka yksinkertaistaa kehitystä ja luo otollisen ympäristön innovoinnille ja työstä nauttimiselle. Sen avulla organisaatiot voivat keskittyä ohjelmistokehitykseen tarjoten samalla kehittäjille tarvittavan kognitiivisen tilan.

    Osa 1

    Mitä on platform engineering?

    Platform engineering (Alustakehitys) on kokoelma kehitystyökaluketjuihin liittyviä työkaluja ja käytäntöjä jotka tekevät ohjelmistojen luomisesta kehittäjille helpompaa. Se luo sisäisen kehitysalustan (IDP), joka tukee tiimejä pilvinatiiveissa yrityksissä ja kattaa alustan suunnittelun, toteutuksen ja operoinnin koko palvelun elinkaaren ajan. Alustakehityksen suosio on kasvanut merkittävästi, johtuen tarpeesta parantaa kehitys- ja operointikäytäntöjä.

    Alustakehitys voi tarjota niin kutsuttuja sujuvia ja tuettuja polkuja (“golden paths” tai “paved roads”) – helposti omaksuttavia tapoja, joiden avulla kehittäjät voivat tehokkaasti rakentaa, julkaista ja ajaa ohjelmistojaan. Vaikka näitä termejä käytetään usein keskenään, niiden tarkoitus on sama: tarjota kehittäjille helpotettu polku ohjelmistokehitysprosessiin. Alusta tukee tätä prosessia automaation ja erilaisten abstraktiotasojen avulla, noudattaen samalla yrityksen hallintokäytäntöjä.

    golden path for developer - eficode illustration

    Mitä ihmiset sanovat alustakehityksestä

    Alustakehitys on kaikkien huulilla, ja siitä on muodostunut vakiintuneita näkemyksiä.

    Evan Bottcher toteaa: “Digitaalinen alusta on itsepalvelu-API:en, työkalujen, palveluiden, tiedon ja tuen perusta, joka on järjestetty houkuttelevaksi sisäiseksi tuotteeksi. Itsenäiset digitaalisen alustan toimitustiimit voivat hyödyntää alustaa tuoteominaisuuksien toimittamiseen nopeammassa tahdissa ja vähäisemmällä koordinoinnilla.”

    Ymmärrä sisäiset kehitysalustat (IDP:t)

    IDP on lisäkerros, joka yksinkertaistaa toimintaa ja mahdollistaa kehittäjien itsepalvelun olemassa olevien teknologioiden ja työkalujen avulla. IDP:t voidaan yleisesti määritellä kolmen avainsanan avulla:

    Sisäinen: Tämä korostaa, että alusta on ainutlaatuinen jokaiselle yritykselle, eikä sitä voi ostaa valmiina tuotteena. Se räätälöidään yrityksen erityistarpeisiin ja -prosesseihin, mukaan lukien sen säännöt ja suosimat työkalut. Alusta ohjaa kehittäjiä tarjoamalla parhaita käytäntöjä ja resursseja, jotka helpottavat heidän työtään ja nopeuttavat aloitusta.

    Ulkoinen: Tämä korostaa, että kehittäjät ovat alustan ensisijaisia käyttäjiä. Itsepalvelu on keskeistä, sillä kehittäjät voivat luoda arvoa nopeasti toteuttamalla uusia ominaisuuksia ilman riippuvuutta IT-tiimien tarjoamista resursseista. Mallipohjat ovat tärkeä osa tätä, sillä ne mahdollistavat perus- tai esiversioiden nopean luomisen tuotteista.

    Alusta: Tässä yhteydessä “Alusta” viittaa tarjottuun infrastruktuuriin ja ohjelmistotyökalujen kokoelmaan. Se kattaa erilaisia toimintoja ohjelmistojen toimitusputkessa, kuten resurssien provisioinnin, ohjelmistotestauksen eri muodot ja artefaktien käyttöönoton kohdeympäristöihin. Alusta sisältää kehittäjille suunnatun portaalin, joka perustuu jaettuihin abstraktioihin pilvinatiivissa ohjelmistossa, kuten kontteihin, deklaratiivisiin konfiguraatioihin ja ohjaussilmukoihin.

    Lue lisää blogistamme “Sisäiset kehitysalustat: Mitä ne ovat ja miksi tarvitset sellaisen.”

    Lue blog-artikkeli
    group-presentation-photo-eficode

    Alustakehitys vs. DevOps

    Jotkut sanovat: “DevOps on kuollut, kauan eläköön alustakehitys!” Todellisuudessa nämä kaksi lähestymistapaa täydentävät toisiaan. Alustakehitys hyödyntää DevOps-käytäntöjä vähentäen samalla kognitiivista kuormitusta ja mahdollistaen itsepalveluominaisuudet kehittäjille.

    Kun DevOps laajenee ja ohjelmistokehitys muuttuu monimutkaisemmaksi, kehittäjien täytyy oppia uusia digitaalisia alustatyökaluja, hallita infrastruktuuria ja priorisoida operatiivisia tehtäviä samalla, kun he kehittävät uusia ominaisuuksia. Nämä vaatimukset vähentävät tuottavuutta, lisäävät uupumusta ja johtavat työväsymykseen.

    Alustakehittäjät yksinkertaistavat DevOps-prosesseja

    Kuvitellaan yritys, joka kehittää verkkosovelluksia käyttäen johdonmukaista rakennetta: tietokanta, taustajärjestelmä RESTful-API:lla ja verkkopohjainen käyttöliittymä. Vaikka nykyaikaisia ohjelmistotyökaluja ja malleja on otettu käyttöön, kehitysprosessi on silti pitkälti manuaalinen.

    DevOps-insinöörit luovat Docker-tiedostoja, kirjoittavat Terraform-skriptejä, perustavat projektiin liittyviä build-putkia ja hallitsevat ympäristöpäivityksiä. He työskentelevät kehittäjien kanssa vastaten heidän tarpeisiinsa samalla, kun huolehtivat valvonnasta, hälytyksistä ja palvelutasosopimusten (SLA) täyttämisestä.

    Tällaisten kriittisten tehtävien keskittäminen pelkästään DevOps-tiimille luo pullonkauloja, pidentää kehittäjien läpimenoaikoja ja lisää merkittävästi DevOps-insinöörien kuormitusta.

    Alustakehitys tehostaa DevOps-prosesseja

    Alustakehittäjät yksinkertaistavat prosesseja hyödyntämällä IDP:tä (Internal Developer Platform) automaation avulla ja aloittamalla itsepalvelusta. Kehittäjien ei tarvitse manuaalisesti perustaa Git-repositorioita, sillä IDP mahdollistaa käyttäjäryhmien luomisen ja CI/CD-mallin automaattisen integroinnin.

    Alustakehitys ei korvaa DevOpsia – se rakentuu sen päälle

    Alustakehitys tarjoaa tiimeille yksinkertaisen tavan aloittaa projektit standardoitujen mallien avulla. Nämä mallit ovat sisäänrakennettuja IDP:hen ja tukevat itsepalvelutoimintoja. Tiimit voivat alkaa luoda arvoa välittömästi sen sijaan, että käyttäisivät viikkoja projektin käynnistämiseen ja ongelmanratkaisuun.

    Itsepalvelu mahdollistaa kehittäjille itsenäisyyden ja samalla varmistaa, että he noudattavat sääntöjä ilman ylikuormitusta. Tämän ansiosta alustakehittäjät voivat keskittyä merkittävämpiin arkkitehtuurisiin haasteisiin, parantaa nykyisiä ominaisuuksia ja sopeuttaa järjestelmää muuttuviin tarpeisiin.

    platform engineering boosts DevOps - rocket-illustration-eficode

    Alustakehitys vs. Site Reliability Engineering (SRE)

    Google esitteli Site Reliability Engineeringin (SRE), joka keskittyy ohjelmistosovellusten operointiin ja parantamiseen suuressa mittakaavassa. Vaikka alustakehitys ja SRE kuulostavat samankaltaisilta, ne eroavat toisistaan merkittävästi.

    SRE on ensisijaisesti operatiivista: sen tehtävänä on varmistaa palvelun jatkuva toimivuus ja ajantasaisuus. SRE tarjoaa myös mallin palvelunhallintaan, jota voidaan soveltaa sisäisiin kehitysalustoihin (IDP). Kirjassa “Site Reliability Engineering - How Google Runs Production Systems” esitelty lähestymistapa on erityisen hyödyllinen tässä yhteydessä.

    Luotettavuus alustakehityksessä

    Ohjelmistosovelluksen palvelutason sopimus (SLA) ei voi olla korkeampi kuin sen alemman kerroksen tarjoamat SLA:t. Jos sovellukselle luvataan 99,9 %:n saatavuus, kaikkien sen infrastruktuurikomponenttien on tarjottava sama taso. SLA:t ovat olennaisia alustatiimin ja alustaa käyttävien kehitystiimien välillä, sillä ne luovat odotuksen palveluiden luotettavuudelle.

    Palvelutason tavoite (SLO) määrittää palvelutason, jota mitataan palvelutason indikaattorin (SLI) avulla. Oikeiden SLO:iden valinta on haastavaa mutta elintärkeää alustatiimin suorituskyvyn mittaamiselle ja liiketoiminnan menestykselle. SLO:t auttavat tasapainottamaan innovaation ja luotettavuuden hyödyntämällä virhebudjettia, eli marginaalia SLI:n ja SLO:n välillä. SLO:t ja virhebudjetit tulisi myös julkaista, jotta sidosryhmät voivat asettaa realistisia odotuksia.

    Alustatiimit ja häiriöhallinta (incident management)

    Alustatiimit ovat ratkaisevan tärkeitä ohjelmistosovellusten luotettavuuden kannalta, koska ne pyörivät heidän alustallaan ja infrastruktuurissa. Alustatiimien tulee ottaa vastuu häiriöistä tai ongelmista, jotka liittyvät heidän hallitsemiinsa osiin palvelun aikana.

    Tiimien vuorovaikutustavat

    SRE-tiimit tekevät tiivistä yhteistyötä kehitystiimien kanssa, ja niiden rooli muuttuu sovelluksen edetessä. SRE-tiimi voi toimia sekä mahdollistavana että operatiivisena tiiminä, tarjoten ohjausta skaalautuvuudessa ja luotettavien palveluiden rakentamisessa tiettyyn pisteeseen asti.

    SRE-tiimin tulee ottaa täysi vastuu yhden tai useamman digitaalisen palvelun luotettavuudesta. Tämä eroaa alustatiimistä, jonka tehtävänä on tarjota itsepalveluliittymiä kehitystiimien käytettäväksi. Alustatiimin on omaksuttava tuotekeskeinen ajattelutapa ja ylläpidettävä tiivistä palautesilmukkaa kehitystiimien kanssa rakentaakseen oikeita ratkaisuja. Alustatiimin on omaksuttava tuotekeskeinen ajattelutapa ja ylläpidettävä tiivistä palautesilmukkaa kehitystiimien kanssa rakentaakseen oikeita ratkaisuja.

    puzzle SRE platform engineering-illustration-eficode

    Osa 2

    Miksi liiketoimintasi tarvitsee platform engineeringiä?

    Ohjelmistokehitys vahvistaa rooliaan liiketoiminnassa sektorista riippumatta. Yritysten tulisi panostaa hyvin suunniteltuun IDP:hen (Internal Developer Platform) saavuttaakseen korkeamman tuottavuuden, tehokkuuden ja motivaation. IDP voi hyödyttää liiketoimintaasi monin eri tavoin:

    Nopeuta arvon tuottamista

    Kyse ei ole vain nopeasta ohjelmistojen julkaisemisesta, vaan myös siitä, miten uusi ohjelmistoratkaisu vaikuttaa käyttäjäkokemukseen ja liiketoiminnan kasvuun. Vahva alusta toimii katalysaattorina, joka suojaa kehittäjiä infrastruktuurihallinnan monimutkaisuudelta. Tämä antaa heille mahdollisuuden keskittyä ominaisuuksien ja toimintojen kehittämiseen, jotka ovat käyttäjille ja liiketoiminnalle tärkeimpiä.

    Lisää kustannustehokkuutta

    Yhtenäinen alusta tukee strategista taloudenhallintaa. Keskittämällä infrastruktuurin ja työkalut alustan kautta saavutetaan parempi kustannusten läpinäkyvyys ja mahdollistetaan palveluiden omistajien vastuullisuus. Tämän näkyvyyden avulla tiimit voivat arvioida ja tasapainottaa kustannuksiaan luottavaisesti, sovittaen ne sujuvasti yhteen tuottojen ja liiketoiminnalle tuottamansa arvon kanssa. Tällainen kustannustietoisuuden ja liiketoimintalähtöisen päätöksenteon yhdistäminen luo kulttuurin, jossa IT-investoinnit keskittyvät yhtä lailla arvon tuottamiseen kuin kustannusten hallintaan.

    Paranna kehittäjäkokemusta ja houkuttele uusia kykyjä

    Lahjakkaiden kehittäjien houkuttelu ja pitäminen ovat avainasemassa ohjelmistovetoisissa organisaatioissa. Panostamalla alustoihin, jotka yhtenäistävät ja sujuvoittavat ohjelmistojen toimitusprosesseja, organisaatio luo selkeät ja turvalliset puitteet kehittäjilleen. Alusta tarjoaa tervetulleen ympäristön projektien aloittamiseen ja turvallisen tilan kokeiluille. Vankan teknologiastackin ansiosta alustatiimi voi mahdollistaa kehittäjille sujuvan ja merkityksellisen työskentelyn ilman kitkaa.

    Varmista vaatimustenmukaisuus ja turvallisuus

    Digitaalisen toimintaympäristön ollessa haavoittuva, tiukempi turvallisuus ja yksityisyydensuoja eivät ole enää vaihtoehtoja – ne ovat välttämättömyyksiä. Alustaan voidaan integroida turvakaiteita, kuten automatisoidut auditointipolut, Policy as Code, turvalliset itsepalvelut ja yhtenäiset ympäristökonfiguraatiot. Onnistunut alusta sulauttaa vaatimustenmukaisuuden ja tietoturvan osaksi työnkulkua saumattomasti. Näin kehittäjät voivat keskittyä innovointiin ilman, että heidän täytyy kantaa huolta turvallisuus- ja sääntelykysymyksistä.

    Kuuntele podcast-jakso “Platform engineering done right,” jossa käsitellään IDP:n kyvykkyyksiä portugalilaisessa pankissa Millenium BCP..

    Kuuntele podcast-episodi
    planning work-post-it notes-board-eficode

    Kognitiivisen kuorman haaste alustakehityksessä

    Teknologia-alan tiimit joutuvat usein käsittelemään monimutkaisia tehtäviä, jotka kuormittavat heidän kognitiivisia resurssejaan. Tämä ongelma voidaan tehokkaasti ratkaista hyödyntämällä IDP:tä (Internal Developer Platform) päivittäisessä työssä. IDP auttaa tehostamaan prosesseja ja keskittymään olennaisiin tehtäviin.

    Yksi IDP:n keskeisistä eduista on yhdenmukaisuus. IDP varmistaa yhtenäiset käytännöt eri tiimien ja järjestelmien välillä, mikä helpottaa kognitiivista kuormitusta ja edistää kehittäjien kokemuksen johdonmukaisuutta. Esimerkiksi yrityksen tietoturvakäytännöt voidaan standardoida ja automatisoida alustatiimin toimesta. Tämä vapauttaa olennaisia kognitiivisia resursseja muihin tarkoituksiin.

    Näiden toimien avulla organisaatiosi voi luoda IDP:iden ympärille kukoistavan kulttuurin, joka perustuu jaettuihin prosesseihin ja maksimoi tiimien tuottavuuden.

    Osa 3

    Oikean kehittäjäalustan (IDP) rakentaminen tiimeillesi

    Kehittäjäalustat tarjoavat itsepalvelutoimintoja kehittäjille, mikä mahdollistaa keskittymisen tärkeimpään työhön. Monet yritykset tuntevat kehittäjäalustojen tuomat hyödyt, mutta oikeanlaisen osaamisen ja strategian löytäminen houkuttelevan alustan rakentamiseen on haastavaa.

    Alustakehityksen aloittaminen

    Alkuun pääsemisessä on otettava huomioon monia tekijöitä. Teknisten tiimien on tehtävä yhteistyötä organisaation sidosryhmien kanssa saadakseen tarvittavaa tukea ja resursseja digitaaliselle alustalle. Johdon tuki on välttämätöntä, sillä kehittäjäalustan rakentaminen vaatii merkittäviä resursseja ja liittyy muuhunkin kuin teknisiin haasteisiin.

    Alustakehitys voi olla yritykselle merkittävä investointi-  erityisesti suuremmille organisaatioille. On hyvä miettiä etukäteen vaiheet, joilla teknologia- tai kehitysjohtaja pääsee hyvin alkuun:

    1. Hanki johdon sitoutuminen ja anna heidän omistaa laajempi visio
    2. Perusta tiimi ja anna heidän määrittää peruskirjansa ja missionsa
    3. Etsi mahdollisuuksia, jotka tuovat merkittävää arvoa sovelluskehitystiimeille
    4. Määrittele menestyksen mittarit
    5. Priorisoi, keskity ja toimita (ohjelmisto ja dokumentaatio)
    6. Kerää palautetta ja tuloksia
    7. Viestitä saavutukset ja haasteet sponsoreille ja sidosryhmille
    8. Palaa tiimin peruskirjaan (missioon)
    9. Iteroi kohdasta 3 eteenpäin.

    Lisätietoja kustakin vaiheesta saat blogisarjastamme “Jos olisin CTO, lähestyisin alustakehitystä näin.” (tai siirry suoraan osaan kaksi: Alustakehitystiimin perustaminen).

    Kuuntele, miten Tanskan kansallinen TV-kanava ja suoratoistoalusta TV2 aloitti alustakehityksen matkansa..

    Katso TV2:n puhe alustakehityksestä
    steps-going up -illustration-eficode

    Vinkki: Paranna käyttöönottoa nimeämällä alusta

    Antamalla kehitysalustalle nimen ja käsittelemällä sitä tuotteena autat tiimejä sitoutumaan ja tuntemaan olonsa mukavammaksi alustan rakentamisessa. On hyvä pitää alustan nimi erillisenä alustatiimin nimestä, jonka tulisi kuvastaa tiimin identiteettiä ja arvoja.

    Älä rakenna oletusten varaan – kokeile ja paranna

    On helppoa ajautua perustason kerrosten rakentamisen syövereihin. Ennen ensimmäisen tiimin tuomista alustalle haluamme, että kaikki on valmiina. Loppujen lopuksi haluamme kehittäjille erinomaisen kokemuksen, joten meidän on “valmisteltava kaikki” heidän palvelujaan varten.

    Mutta ohjelmistokehityksessä mikään ei ole koskaan täysin valmista. Jo alusta alkaen meidän on keskityttävä asteittaisiin parannuksiin ja otettava oikeat kehittäjät mukaan mahdollisimman aikaisin. Muuten rakennamme oletusten varaan, ja ne yleensä pettävät meidät. Emme ole ansainneet “oikeutta toimia” alustatiiminä, jos emme ole testanneet työtämme todellisessa käytössä.

    Ehkä tämä harhakuvio johtuu sanasta “alusta”. Kuvittelemme sen tukevan koko ohjelmistojen toimitusta, tietoturvaa, laatua, valvontaa ja operaatioita heti alusta alkaen. On hyvä ajatella suurta kokonaiskuvaa, mutta aloita pienesti ja rakenna iteratiivisesti Thinnest Viable Platform (käsitteenä kirjasta Team Topologies). Selvitä pienin mahdollinen käyttötapaus, joka tuottaa arvoa kehittäjille, ja rakenna vain se. Mittaa tulokset ja opi, mitä seuraavaksi tulee kehittää.

    Jos tuotantoon siirtyminen pelottaa (kuten se usein tekee), ja tunnet tarvetta tehdä “vain vähän lisää”, vastusta tätä halua. Käänny avoimimpien kollegojesi puoleen – niiden, jotka haluavat sinun onnistuvan – ja pyydä heitä testaamaan alustaa.

    Jos haluat oppia lisää alustakehityksen haasteista ja sudenkuopista, tutustu esitykseen  “Platform Engineering is Hard, and We are Doing it Wrong”  DevOpsDays Denmark 2023 -tapahtumassa.

    experiment and improve-feedback loop-teamwork-illustration-eficode

    Vinkki: Dokumentoi kehitystyösi aina

    Tunnista tietyt kyvykkyydet ja priorisoi vähimmäisvaatimusten täyttäminen kehittäjien tarpeiden tasolla. Aloita näiden kehitystyön vaiheiden dokumentoinnilla, sillä se on korvaamatonta tulevaisuudessa, erityisesti monimutkaisten API:en kanssa työskenneltäessä.

    Kehittäjäalustan (IDP) dokumentoiminen

    Aloita laatimalla dokumentaatiosuunnitelma ja mieti kehittäjien tarpeiden pohjalta, mikä on olennaista heidän kohtaamiensa haasteiden kannalta. Ilman tätä suunnittelua saatat kohdata seuraavia ongelmia:

    • Kehittäjät tarvitsevat apua alustan ja sen palveluiden käytön aloittamisessa 
    • Sinun täytyy toistuvasti selittää, miten tietyt konseptit ja ideat toimivat 
    • Kehittäjät huomauttavat, että he yrittivät noudattaa dokumentaatiota, mutta epäonnistuivat yhdessä vaiheessa, koska heillä ei ollut oikeaa ohjelmistoversiota asennettuna 
    • Kehittäjät kääntyvät sinun puoleesi ongelmien ratkaisemiseksi sen sijaan, että viittaisivat dokumentaatioon 
    • Ohjaat jatkuvasti samoja henkilöitä samaan dokumentaatioon, mutta tämä ei tuota toivottuja tuloksia.

    Tavoitteena on tarjota käyttäjille selkeä yleiskuva siitä, mitä he voivat tehdä alustallasi ja kuinka se hyödyttää heitä. Yksityiskohtaisen teknisen dokumentaation voi jättää myöhempään vaiheeseen. Kehittäjät arvostavat alustoja, jotka ovat helppoja ymmärtää ja käyttää. Pidä heidän tarpeensa mielessä ja tarjoa laadukasta dokumentaatiota, niin saat enemmän kehittäjiä omaksumaan alustasi.

    Lisää näkemyksiä löydät blogistamme, jossa käsittelemme paremman dokumentaation merkitystä paremman alustan kehittäjäkokemuksen saavuttamisessa.

    Lue blogi paremmasta dokumentoinnista
    two people working on a screen-teach-approve-check-helpeficode

    Vinkki: Alustan esittely uusille käyttäjille

    Harkitse “Aloitusopas”-dokumentin luomista. Se on erinomainen tilaisuus asettaa odotuksia ja antaa käyttäjille selkeä yleiskuva alustan keskeisistä ominaisuuksista ja hyödyistä.

    Oppaan tulisi olla ytimekäs ja kattaa alustan tarjoamat perusasiat. Keskity herättämään käyttäjissä innostusta alustaa kohtaan sen sijaan, että kuormittaisit heitä liialla tiedolla. Tämä opas on erityisen hyödyllinen kehittäjille, jotka ovat uusia alustan käyttäjiä, sillä se tarjoaa helposti lähestyttävän johdatuksen tuotteeseesi.

    Valitse alustakehityksen työkalut viisaasti

    Backstage? Crossplane? Argo CD? GitLab? Pysähdytään hetkeksi. Jokaisella organisaatiolla on omat tarpeensa, ja heidän tulee valita työkalut, jotka sopivat parhaiten heidän toimintaansa.

    Teknologia ja työkalut ovat olennaisia alustan arvolle sen käyttäjille. Jotkut valinnat on tehtävä aikaisessa vaiheessa, kun taas toiset voidaan tehdä matkan varrella. Esimerkiksi infrastruktuurin, jolla alusta toimii, tulee olla päätettynä ajoissa. Rakennetaanko se pilvipalvelualustalle, paikallisesti vai hybridiratkaisulla?

    Kuten kaikissa tärkeissä päätöksissä, myös tässä oikeat sidosryhmät tulee ottaa mukaan. Siksi on tärkeää osallistaa jaetut palvelut (talous, hankinta, tietoturva jne.) päätöksentekoon.

    Muista nämä asiat: 

    • Vältä tiukkaa sidonnaisuutta: Harkitse avoimen lähdekoodin ohjelmistoja ja työkaluja, jotka tarjoavat laajan kolmannen osapuolen integraatiovalikoiman, sen sijaan että valitsisit yhden valmiin ratkaisun. Tämä auttaa välttämään toimittaja- tai teknologiariippuvuuden tulevaisuudessa. 
    • Hyväksy muutoksen väistämättömyys: Minkä tahansa päätöksen teetkin, todennäköisesti joudut miettimään migraatiota 2–3 vuoden kuluttua.

    Muut työkalupäätökset ovat helpompia, ja ne kannattaa tehdä vasta, kun olet valmis ottamaan ne käyttöön. Vältä sitoutumista työkaluihin, joita et aio käyttää lähitulevaisuudessa. Koska työkalut ja teknologiat kehittyvät nopeasti, seuraa Lean-käytäntöä ja viivytä päätöksiä viimeiseen vastuulliseen hetkeen asti (kuten kirjassa Lean Software Development kuvataan). 

    Lisäksi kannattaa miettiä, kuinka monta innovaatiotokenia voit “kuluttaa” uusiin työkaluihin. Myös alustatiimit altistuvat kognitiiviselle kuormitukselle. Vaikka se saattaa kuulostaa tylsältä, joskus on parempi aloittaa työkaluilla, jotka tunnet ja jotka ovat jo käytössäsi, ja tutkia vähitellen, ovatko ne edelleen sopivia tarkoitukseensa.

    cogwheels-hand-illustration-eficode

    Osa 4

    Hyötyjen mittaaminen alustalähtöisestä lähestymistavasta

    Useimmat ohjelmistokehityksen arviointimenetelmät keskittyvät paikalliseen tuottavuuteen, laatuun ja toimitusprosessin johdonmukaisuuteen. DevOpsin osalta käytössä on hyvin vakiintuneita mittareita, kiitos DevOps Research Assessment (DORA)-ohjelman:

    • Julkaisutiheys
    • Muutosten läpimenoaika 
    • Keskimääräinen palautumisaika
    • Muutosten epäonnistumisprosentti
    • Luotettavuus

    Nämä mittarit mahdollistavat DevOps-kulttuurin ja -käytäntöjen vaikutusten mittaamisen kvantitatiivisesti IT-suorituskyvyn ja laadun näkökulmasta. Viime aikoina huomio on siirtynyt kehittäjien kokemuksen ja työn arvostuksen arvioimiseen DevX-lähtöisellä lähestymistavalla menestyksen mittaamisessa.

    Kehittäjäkokemuksen (DevEx) mittaaminen

    DevExin mittaaminen on kuitenkin haastavaa, sillä käsite on erittäin laaja. Hyvä lähtökohta on kolmen keskeisen DevEx-ulottuvuuden viitekehys. Siihen kuuluu palautesilmukat, kognitiivinen kuormitus ja flow-tila. Näiden ulottuvuuksien avulla korostetaan, että DevEx ei ole pelkästään tekninen asia – työkalut tai työnkulut – vaan ensisijaisesti kehittäjien kokemukseen ja näkemyksiin liittyvä asia.

    Kehittäjät ovat ihmisiä, eikä mikään yksittäinen määrällinen mittari voi tarkasti kuvata DevExiä. Siksi on tärkeää kerätä laadullista palautetta kehittäjiltä kyselyiden avulla. Tällainen palaute kuvaa muun muassa koodin julkaisemisen ja alustan käytön koettua monimutkaisuutta ja tyytyväisyyttä. Esimerkiksi:

    • Helppokäyttöiset työkalut auttavat kehittäjiä nopeuttamaan kehitystä ja käyttöönottoa ilman vaivaa 
    • Itsepalveluominaisuudet tukevat kehittäjien itsenäisyyttä ja hallintaa 
    • Laadukas dokumentaatio auttaa kehittäjiä navigoimaan monimutkaisissa infrastruktuureissa 
    • Alusta mahdollistaa monipuolisten DevExiin liittyvien mittareiden keräämisen 
    • Nopeasti käyttöönotettava kehitysympäristö lisää tuottavuutta ja luovuutta MVP:iden (minimum viable product) toteutuksessa.

    Alustakehitys ei rajoitu pelkästään tuottavuuden parantamiseen tai nopeampaan innovointiin. Parantamalla DevExiä alusta tekee kehittäjistä onnellisempia, mikä puolestaan parantaa työntekijöiden pysyvyyttä, houkuttelee uusia lahjakkuuksia ja tukee liiketoimintatavoitteiden saavuttamista.

    Lisätietoa aiheesta saat katsomalla Dr. Nicole Forsgrenin puheen "Why even DevOp—making our days better".

    Katso Dr. Nicole Forsgrenin puhe
    two developers working-smile-eficode

    Miten yrityksesi voi hyötyä alustakehityksestä?

    Takaisin alkuun