“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.
Opi Bankdatan ja Millennium BCP:n kokemuksista webinaarissa “Omaksu alustakehitys liiketoiminta-arvon tuottamiseen”.
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ä.
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-artikkeliAlustakehitys 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.
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.
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-episodiKognitiivisen 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:
-
Hanki johdon sitoutuminen ja anna heidän omistaa laajempi visio
-
Perusta tiimi ja anna heidän määrittää peruskirjansa ja missionsa
-
Etsi mahdollisuuksia, jotka tuovat merkittävää arvoa sovelluskehitystiimeille
-
Määrittele menestyksen mittarit
-
Priorisoi, keskity ja toimita (ohjelmisto ja dokumentaatio)
-
Kerää palautetta ja tuloksia
-
Viestitä saavutukset ja haasteet sponsoreille ja sidosryhmille
-
Palaa tiimin peruskirjaan (missioon)
-
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..
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.
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 dokumentoinnistaVinkki: 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.
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 puheOpi Bankdatan ja Millennium BCP:n kokemuksista webinaarissa “Omaksu alustakehitys liiketoiminta-arvon tuottamiseen”.
Miten yrityksesi voi hyötyä alustakehityksestä?
Pysy ajan tasalla - tilaa uutiskirjeemme!
Saat opettavaista sisältöä ja viimeisimmät uutiset Eficodelta suoraan meiliboksiisi.