LIVSSYKLUS: Øystein Pettersen, gruppeleder for Devops og Jennifer Blechar, direktør for applikasjoner i Sopra Steria viser en skisse av livssyklussen for utvikling basert på Devops. Sprinten gjentas så mange ganger som det er oppgaver som skal gjennomføres. Når Sprinten er ferdig føres resultatet opp på en ny oppgavetavle for testing, kvalitetssikring og produksjonssetting. Produksjonen overvåkes og avvik meldes tilbake til utvikling som tar det med seg for nye forbedringer.

Fjerner tuene mellom utvikling og drift

Applikasjonsutviklerne jobber frem nye og forbedrete løsninger uten å ta hensyn til praktiske driftsutfordringer. Ved å innføre en ny utviklingskultur vil kostnader og praktiske hindre for driften bli fjernet.

Publisert Sist oppdatert

-- Utvikling og test tar en stor andel av it-kostnadene, sier Mark Hurd, administrerende direktør i Oracle.

Hurd antyder at etter at en tre ukers utvikling er ferdig, tar det tre måneder før utviklingen er robust nok til å inngå i Oracles applikasjonsportefølje.

-- Devos gir oss den hastigheten vi trenger slik at vi kan gjøre ett trykk for deploy, sier Abidali Neemuchwala, president og daglig leder i Wipro Limited.

Å redusere utviklingskostnadene er av oppgavene til Devops, en annen er hyppigere produksjonssettinger for raskere å møte nye forretningsutfordringer.

-- Devops blir en helt kritisk faktor for å lykkes med produktutvikling og digitalisering i alle bransjer i tiden som kommer, understreker Olav Folkestad, administrerende direktør i Bekk Consulting.

Nytt begrep

Devops, Development to Operations, er et nytt begrep for mange organisasjoner, et veletablert begrep for avanserte utviklingsmiljøer. Det handler om å få utviklere til å jobbe tett sammen med de som skal sørge for at den nye applikasjonen får et driftssikkert og effektivt produksjonsmiljø.

Satt på spissen handler Devops om å forbedre smidig utvikling. Men Devops forutsetter ikke smidig utvikling. Devops handler derimot om organisasjonsendringer ved at driftsekspertise blir en del av utviklingsteamet. Konsekvensen er at smidig utvikling endres.

Grunnen til interessen for Devops er bedrifters behov for å komme enda raskere med ny funksjonalitet for bedre tjenester til sine ansatte, kunder og partnere. Gjort riktig kan Devops bidra til kvalitetsforbedringer av applikasjonen. Løsningene blir over tid mer industrialiserte.

Devops utført riktig, lover økt smidighet spesielt for endringer, økt kvalitet som øker brukertilfredsheten, forbedret innovasjonen og redusert driftsavbrudd. Nesten 80 prosent av driftsavbruddene er relatert til endringer.

I juli 2014 var Devops på rask vei oppover forventningskurven til analysefirmaet Gartner, så det vil ta flere år før Devops er modent og en naturlig forbedring av måten å gjøre utvikling av it-applikasjoner.

Grunnen er at det ikke er noen standard definisjon, det ingen enkel oppskrift på hvordan Devops tas i bruk og hver Devop er unikt tilpasset kunden.

I rapporten State of Devops konkluderes det med at et Devops-team har dobbelt suksessrate ved endringer, er tolv ganger raskere på å komme i gang etter en feil, har dobbelt så stor sannsynlighet for å overgå lønnsomhet, markedsandel og produktivitetsmål.

Dramatisk

-- Vi ser at mange av våre kunder i økende grad spør oss om Devops. Derfor er det viktig at Bekk har jobbet med Devops i flere år og opparbeidet erfaring, understreker Olav Folkestad.

I et oppslag i Wall Street Journal i 2014 kunne man lese overskriften «Enterprise Devops Adoption Isn`t Mandatory – but Neither Is Survival». De ivrigste tilhengerne av Devops fremhever at det er Devops eller død. Med det menes at konkurrenter med Devops får store fortrinn.

Det kan lyde dramatisk, men ideen er å kunne takle en forretningsutfordring enda raskere med mindre plunder og heft, høyere kvalitet og effektivere produksjonssetting. Da er det underlig at ikke datasentraler insisterer på Devops når de skal sette i gang nye applikasjoner for kunder.

For Devops er ikke nytt selv om det er lite kjent i Norge. Det er 600 medlemmer i Devops Norway Meetup, men hvor mange virksomheter som jobber med Devops er usikkert.

-- Det offentlige har i anbud de siste tolv månedene etterlyst Devops-kompetanse, hevder Jennifer Blechar, direktør for applikasjoner i Sopra Steria.

Siden det ble omtalt i Wall Street Journal allerede for ett år siden, burde flere blitt nysgjerrige. At verdens ledende finansavis omtaler en måte å forbedre applikasjonsutvikling, uten at flere reagerer for å finne ut om det har noe for seg, er merkelig. Men det siver inn selv om det tar tid.

Kan hjelpe

-- Skal du evne å konkurrere i et marked som er i stadig endring, som medfører at it-systemet trenger ny funksjonalitet raskt og kontinuerlig med høy kvalitet, er Devops helt avgjørende, hevder Olav Folkestad.

De store konsulentselskapene kan derfor hjelpe store kunder og driftsorganisasjoner med Devops-prosesser, styringsmodeller, målinger og organisering. Men først må Devops bli en del av utviklingskulturen i kompetansefirmaene.

Devops-tjenester bør bli et innsatsområde for datasentraler som leverer plattform eller programvare som en tjeneste. Samspillet med fagfolkene på drift endrer seg når produksjonsmiljøet har flyttet ut i nettskyen.

-- Målsetningen må være at de som utvikler applikasjonen også skal drifte den. Det skaper en annen ansvarsfølelse når de som utvikler også drifter, sier Stein Inge Morisbak, fagleder for Devops og kontinuerlige leveranser i Bekk Consulting.

Bekk er tilhenger av at det er de samme fagfolkene som er med fra unnfangelsen via produksjonssettingen, overvåkningen og beredskapen. Det betyr ikke at alle skal kunne gjøre alt. Det forutsetter et tett samarbeid mellom utviklerne og oppdragsgiveres representanter. Naturligvis kan enkeltpersoner skiftes ut, men det skal være en kontinuitet i utviklingsarbeidet.

-- Vi bør slutte å tenke it-prosjekter og heller skape verdien i linjen, fortsetter Stein Inge Morisbak.

Raskt å starte

For det er forretningsutfordringene it skal skape løsninger for. Med lokale eller kommersielle skytilbud er det raskt å komme i gang med utvikling. Å skaffe datamaskineri tilhører fortiden for utviklere. Prosjektets it-maskineri skaffes stadig oftere fra nettskyen.

Tekniske utfordringer ved produksjonssetting blir nærmest borte, bare applikasjonen er pakket inn eller innkapslet i henhold til skyleverandørens krav. Containere og mikrotjenester kommer til å få større betydning de kommende årene.

-- Det er ikke noe som heter Software-problemer. Det er bare menneskeproblemer. At utvikling og drift samarbeider må forstås. Det eneste man lærer av er å få softwaren i produksjon, hevder Stein Inge Morisbak.

Produksjonssetting skal skje kontinuerlig. Grunnen er at det da er skrevet færre kodelinjer som medfører at det er mindre sannsynlighet for feil. Forutsetningen er at utvikling og drift utfyller hverandre og jobber godt sammen.

-- Det er forretningsvirksomheten som skal bestemme når utviklingen skal produksjonssettes, forklarer Stein Inge Morisbak.

Men uten tilbakemelding fra driftens fagfolk vil applikasjonsutviklingen og bearbeidingen kunne komme skjevt ut.

For nye, brukernære applikasjoner kan utviklere ta seg av driften under kjente betingelser, men det er mer utfordrende når applikasjonen skal spille sammen med applikasjoner som er utviklet, under andre programvareforutsetninger.

Har vært en mur

-- Det har tilsynelatende vært en mur mellom utvikling og drift. Utviklerne nærmest kastet den ferdige løsningen over muren til driftspersonalet, sier Ruben Olav Larsen, sjefskonsulent og faggruppeleder for kontinuerlig leveranse og Devops i Capgemini.

For ikke alltid bryr utviklerne seg om driftsorganisasjonen. Med et programvaredefinert datasenter er grupper av utviklere interessert i å ta over driften selv. Det medfører behov for nye programvareverktøy.

Ulempen er at det ikke finnes noen standard definisjon på hva Devops er. Det er heller ingen enkel og standardisert måte å sette i gang. Hver Devops blir derfor unik fordi det skal tilpasses kundebehovene.

Capgemini jobber med å ta frem en definisjon. Ifølge Capgemini: «Devops er en måte å samhandle og industrialisere utviklingen ved å automatisere, slik at den produksjonssatte løsningen kan forbedres så raskt som virksomheten behøver det. Ved å ta i bruk Devops vil virksomheten forbedre levert verdi dramatisk. På grunn av Devops fjernes siloer ved at team med forretning, utvikling og drift jobber tett, slik at kvaliteten blir høyere gjennom hele utviklingsløpet.»

-- It drift må lære seg å jobbe mer som utvikling. Utviklere må ta til seg og forstå driftsutfordringer. Det gjelder å forstå hverandres utfordringer, drivere og kultur, forklarer Ruben Olav Larsen.

Skiftes umiddelbart

Konsekvensen er at utviklingen må fremskynde mindre og hyppigere versjoner basert på komponenter og mikrotjenester slik som Docker Containers. Forutsetningen er en kultur med meget raske tilbakemeldinger hvor det er lov å eksperimentere. Dårlige løsninger skiftes ut umiddelbart.

-- Hensikten med Containere og mikrotjenester er å standardisere, forenkle og forbedre driften, forklarer Ruben Olav Larsen.

Og verktøy er helt vesentlig for Devops. Det finnes ikke ett. Det må benyttes et sett med verktøy. En hel programvareindustri står klar til å levere automatiseringsverktøy som kan hjelpe utviklerne i sitt arbeid for å skaffe applikasjonen de beste arbeidsbetingelsene.

Devops benytter automatisering for å optimalisere utvikling og drift, hvor målet er mer pålitelige og oftere produksjonssettinger av applikasjonen.

I Capgemini ser man for seg å gå fra årlige produksjonssettinger, eksempelvis et nytt forretningssystem, til daglige produksjonssettinger. Årlige representeres ved et tog, daglige ved en scooter, små og hyppige turer.

-- Tog er langsomme, Scootere er raske, men hastighet er ikke alltid viktigst. Det vil være forskjellig leveransehyppighet. Noen vil skje hver dag, andre hver uke, noen hver måned, avhengig av type applikasjon. Man må starte med scooterne, de kundenære applikasjonene som differensierer bedriften i markedet. Det er der raske leveranser skaper størst forretningsverdi, sier Ruben Olav Larsen.

Forbedre livssyklus

-- Devops er et sett med verdier, prinsipper, metoder, praksis og verktøy, forklarer Øystein Pettersen, gruppeleder for Devops i Sopra Steria.

-- Devops er en måte å tenke og jobbe på for å forbedre livssyklusen til applikasjonsutvikling, hevder Jennifer Blechar.

En robust og stabil applikasjonsforbedring oppnås tradisjonelt med få produksjonssettinger, helt i tråd med hva Mark Hurd hevder. Målet er at den totale løsningen skal bli mer stabil over tid med mange små produksjonssettinger.

Som Sopra Steria ser det, er Devops en ytterlige forbedring av smidig via kontinuerlig integrering og levering, fordi de som er ansvarlige for forretningsvirksomheten jobber med både utviklere og driftsspesialister, mens de tidligere bare jobbet med utviklere.

Sopra har utviklet en modell for den totale utviklingen med en definisjonsfase som produserer brukerhistorier, en utviklingsfase med kontinuerlige sprinter, en driftsfase som starter med en serie produksjonsklare programvaremoduler som ses i sammenheng, settes i produksjon, overvåkes og hvor resultatet meldes tilbake til utviklerne.

-- For noen bedrifter er kontinuerlig forbedring avgjørende for forretningsverdien. Devops starter før utvikling og etablerer utviklingsmiljøet, understreker Jennifer Blechar.

Siden etableres flere miljøer som pre-produksjon og produksjon. For større forbedringer av applikasjonen skal gjennomtestes, for ikke alle applikasjoner egner seg for kontinuerlig produksjonssetting med små forbedringer.

FORANDRING: Stein Inge Morisbak, fagleder for Devops og kontinuerlige leveranser i Bekk Consulting, påpeker behovet for forandring i applikasjonsutviklingen. Bekk har flere år med erfaring fra Devops som benyttes for stadig bedre og raskere produkssjons

Teste tidligst mulig

For å øke kvaliteten på leveransen skal det testes tidligst mulig og så ofte som mulig. Dette understøttes av Sogetis testmodell hvor det gjelder å teste forutsetninger for å unngå senere fadeser.

I smidig utvikling innarbeides testingen i utviklingsløpet det vil si sprinten. Forbedringene skal skje kontinuerlig helt i tråd med konsulentfirmaet Bekks ideer med leveranse av små oppgraderinger. Skal det lykkes må utviklingsteamet være sammensatt av forskjellig type kompetanse.

Testingen er helt avhengig av verktøy fordi det er en rekke faser som vil ta tid uten. Først er det enhetstest, deretter funksjonell test, ikke funksjonell test, brukertest og endelig akseptansetest før produksjonssetting.

Etter første sprint er det mye mer omfattende å gjennomføre testfasen enn i senere iterasjoner. Første sprint bør derfor ha kode som er godt gjennomarbeidet. Hvor mye og hvor omfattende er avhengig av applikasjonen.

-- Resultatet av første sprint kan typisk ta tre måneder, sier Johannes Brodwall, tung fagmann i Sopra Steria.

Spørsmålet er hva man gjør når en logg i produksjonen sier at noe ikke fungerer? Naturligvis meldes det tilbake til utviklingsmiljøet hvor driftskompetanse kan bidra til å få satt lys på problemstillingen. Det man ønsker er at ingen i utvikling skal hevde at det virker i deres miljø, så hvorfor virker det ikke i produksjon?

Differanse

For Devops har som mål å rive muren mellom utvikling og drift og erstatte den med et utviklingsløp som kan sammenlignes med evighetssymbolet. Grunnen er at samtlige virksomheter også er programvarebedrifter hvor programvaren er en differensiator og en forutsetning for innovasjon.

Det har en start og det slutter først når applikasjonen trekkes ut av produksjon. I mellomtiden skal drift gi tilbakemeldinger kontinuerlig om utfordringene slik at det kan foretas vurderinger av forutsetningene, feilretting, mindre og store forbedringer.

Bruksmønster og nye forutsetninger for forretningen vil medføre utfasing, omstrukturering og nye versjoner. Denne utviklingen kan foregå i parallell med bruk av den gamle.

Fagfolk hevder at Devops uten gode tilbakemeldinger nærmest ikke er Devops, for en av ideene er at det skal prøves og feiles, det vi si eksperimenteres. En annen viktig lærdom er at analyse av applikasjonen kan vise til kode som ikke utnyttes og som dermed kan bidra til diskusjon om funksjonalitet. All unødvendig kode som kan fjernes, bidrar til økt stabilitet og sannsynlighet for mindre feil, helt i tråd med filosofien om Lean.

-- Med våre Devops-tjenester kan vi bidra til en kostnadsreduksjon på mer enn ti prosent, inntil 50 prosent raskere leveranse, med reduserte feil i avsluttende testfaser og høyere kvalitet, hevder Tonny Gundersen, leder for gruppen Advanced Technology and Architecture, ATA i Accenture.

Det forutsetter Acentures erfaring, metodikk og verktøy.

-- For Devops er et kjent begrep for våre fagfolk. Vi har dedikerte fagfolk som sertifiseres, forklarer Tonny Gundersen.

Verktøyene har Accenture valgt ut fra et praktisk behov for sine prosjekter. Nevnes kan Copado for overlevering til drift. Andre er Git for å ha full oversikt over applikasjonen som er i bruk og som skal utbedres, Gerrit og Jenkins.

Kan hjelpe

En rekke kompetansebedrifter ser muligheten til å hjelpe it-prosjektene få til en raskere og enda smidigere leveranse og produksjonssetting. For Devops er nøye knyttet til smidig.

-- Det har vært en flytteprosess. Det bør være en flyteprosess, sier Rolf Frydenberg leder og rådgiver i kompetansebedriften Manage-E.

Frydenberg er opptatt av at resultatet av utviklingen mest mulig smidig blir satt i produksjon. Til det vil Manage-E benytte verktøy fra Hewlett Packard Enterprise, HPE. Det er Codar som er bygget på Cloud Server Automation som skal være flytmotor.

Når applikasjonen er kommet i produksjon er det viktig å forstå hva som skjer. Det omfatter brukervennlighet, funksjonalitet og ytelse. Utfordringen er å fange opp data for disse tre forholdene. Til det trengs det et service-verktøy. HPE har Service Manager for intern bruk og Service Anywhere som skyleveranse.

-- Det er alt for vanlig å glemme at man trenger tilbakemelding fra produksjon som kan påvirke neste versjon av applikasjonen, påpeker Rolf Frydenberg.

Det understrekes av analysefirmaer at uten tilbakemelding fra produksjonen har Devops begrenset verdi.

CA Technologies ønsker å tilrettelegge for en modell for service-virtualisering. Hensikten er å modellere og simulere tjenester og integrasjoner. Det skal benyttes en prosess med programvareagenter for kobling mot verktøy og produksjonsmiljø.

-- Utfordringen med Devops er at ingen kan selge deg en ferdig pakket løsning. Bedriften må ta utgangspunkt i sitt it-miljø. Devops vil være en arbeidsform, en måte å tenke på, en kultur.   Vi ønsker å gjøre utviklingen mer forutsigbar. Målet er å få til «Zero Touch Deployment», påpeker Kim Knudsen, salgsspesialist applikasjonsleveranser i CA Technologies i Norge.

Accenture har hatt stor nytte av Devops i en rekke prosjekter, deriblant utviklingen av kjernejournalen for Helsedirektoratet og Elhub for Statnett som skal omfatte alle strømmåledataene fra hele landet fra 2019.

Men en rekke utviklingsprosjekter benytter ikke Devops, en rekke fagfolk har liten eller ingen kjennskap til Devops i Accenture. Det gjelder i nesten alle konsulentselskapene. Det firmaet som har kommet lengst med Devops er Bekk. Der er stor deler av utviklingen gjennomsyret av Devops som en forbedring av smidig utvikling.