Jeg snakker ofte om hva som skal til for å lykkes med IT. En av tingene jeg snakker om er hvorfor utviklere skal ha ende-til-ende-ansvar i to dimensjoner: fra idé til produkt, fra maskinvare til brukergrensesnitt.
Den ene dimensjonen handler om funksjonalitet og at et utviklingsteam skal følge funksjonaliteten de lager fra den oppstår som idé til den er satt i produksjon. Utviklerne skal være med å forme ideen til et konsept sammen med forretningssiden, deretter kode funksjonaliteten, teste den og sette den i produksjon.
For mange er dette radikalt. I et tradisjonelt regime er det gjerne utvikleren som starter på funksjonaliteten, for så å overlevere den til et test-team, som i sin tur overlater den til applikasjonsdriften som setter den i produksjon. Det er flere utfordringer med et slikt regime. Ansvarsfraskriving oppstår ofte når ingen har ansvaret for totaliteten. Økt tidsforbruk oppstår som konsekvens av at funksjonaliteten skal overleveres mellom enhetene. Økt administrasjon oppstår av samme årsak. Ansvaret pulveriseres.
Med Kanban som verktøy og metoder kjent fra XP, sikrer man både fremdrift og kvalitet.
Tilsvarende bør du gi utviklerne ende-til-ende-ansvar for all programvare som kreves for å ha en løsning i drift, alt fra virtualisering og operativsystemer til databaser og annen mellomvare, til selve applikasjonen de utvikler.
I et tradisjonelt regime som omtalt over, er det gjerne flere skiller i drift av en løsning. Ofte opererer man med utviklere som har ansvaret for å lage applikasjonen, applikasjonsdriftere som har ansvaret for å drifte og overvåke applikasjonen og annen programvare, samt basisdriftere som har ansvaret for maskinvare, nettverk, brannmurer og liknende.
Fordelen med å gi utviklerne ende-til-ende-ansvar også her, har mange fellesnevnere med førstnevnte: det blir et tydeligere ansvarsskille mellom maskinvare og programvare, og utviklerne tar eierskap og utviser ansvar for den totale løsningen. Metodene er kjent fra DevOps.
Samtidig er det ikke bare å ukritisk gi slikt ansvar. Først og fremst krever det kompetanse innen alle disiplinene som skal utvises.
For ansvar fra idé til produkt kreves forståelse for forretning, arkitektur, programmering, testing og produksjonssetting.
For ansvar fra maskinvare til brukergrensesnitt kreves kunnskap om virtualisering, drift av operativsystemer og databaser, samt god innsikt i mellomvaren som benyttes.
Dette igjen har en kostnad: man trenger dyktige mennesker og dyktige mennesker er ikke gratis. Samtidig tar man på seg større ansvar, og da må man være klare til å ta dette ansvaret også når ting går galt. For det går før eller siden galt.
Oppsiden, derimot, er større når man lykkes. Man får mer stabil drift og høyere kvalitet på løsningen, og når alt kommer til alt er dette alt IT dreier seg om: stabile løsninger som fungerer.
Som leser kan du gi et bidrag til produksjonen, til driften og til å skaffe utstyr til testing for å sikre regelmessige, uavhengige artikler, tester og vurderinger av høy kvalitet.
Husk å abonnere på nyhetsbrevet, det er gratis og du får alle artikler rett i innboksen.
Enda flere artikler? Besøk arkivet.
Dette er Martin Koksrud Bekkelund sitt private nettsted, hvor han skriver om forbrukerteknologi, teknologiledelse og hvordan teknologi, samfunn og politikk påvirker hverandre. Martin er innehaver av konsulentselskapet Nivlheim. Les mer...
© 1995-2024 Martin Koksrud Bekkelund
Opphavsrett • RSS og abonnement • Kontakt • Personvern og informasjonskapsler