- Lederne som lar utviklerne bruke mye tid på koding, som nødvendigvis ikke gagner verken kundene eller virksomheten selv, er i seg selv uansvarlige, sier Benedicte Fjellanger, "Chief Enabling Officer" hos selskapet Team Agile, til kode24.
I vår siste lønns- og trivselsundersøkelse spurte vi over 1.200 norske utviklere: "Hva er viktigst for deg - koden du skriver, eller sluttproduktet?".
Overraskende nok svarte nesten 24 prosent at koden var det viktigste.
Fjellanger er kritisk til en slik prioritering, og mener det kan gå ut over teamet.
«Det betyr muligens mye bortkastet tid og innsats. Det blir som å skyte på blink i blinde.»
"Et lederproblem"
Fjellanger tror funnet først og fremst skyldes gode tider og store budsjetter med rom for "bortkastet innsats". Samtidig mener hun at det er et lederproblem at utviklerne ikke bryr seg mer om sluttproduktet, noe som vitner om at de ikke forstår hvilken effekt koden har på brukerne eller kundene.
- Det betyr muligens mye bortkastet tid og innsats. Det blir som å skyte på blink i blinde.
Hun legger til at lederne også må forvente at utviklerne selv oppsøker læring og ønsker å forstå kundens kontekst når koden treffer kunden. Fjellanger lister opp en rekke spørsmål som utviklere bør stille seg selv:
- Hvordan oppleves produktet vi utvikler for kunden?
- Hvilke problemer løser det for kunden?
- Hva skal vi gjøre annerledes og forbedre for at kunden bruker enda mer tid på vårt produkt og opplever det mer verdifullt?
- Slike spørsmål er helt nødvendige for å validere løsningene som kodes, kontinuerlig, sier Fjellanger.
- Forstår de ikke koden din, er den for dårlig
Får støtte av kode24-klubben
Også kode24-klubben mener det blir feil å prioritere koden framfor sluttproduktet - selv om også koden er viktig.
- Hjelper lite med peneste, mest effektive og sykeste teknologien og koden hvis sluttproduktet ikke fungerer. Men man må være klar over at dårlig kvalitet holder kortere, dør oftere uventet og kan skape merkostnader og manuelt ekstraarbeid, og er som oftest dyrere i lengden, skriver Trond Klakken.
Ruth Merethe Granevang skriver at å skrive god kode er noe av det viktigste man gjør.
- Da mener jeg ikke å bruke det mest fancy biblioteket, eller følge den hippeste best practice-en. Men å løse problemer på enklest mulig måte, og skrive så enkel og logisk kode som mulig. Slik at "hvem som helst" kan ta tak i den senere.
Granevang legger til at andelen tid man bruker på å lage et system, er langt mindre enn tiden man bruker på å vedlikeholde og videreutvikle det.
- Det er ikke deilig å dykke inn i gammel, ulogisk, overkomplisert kode skrevet av noen som ikke lengre jobber med den. Men selvfølgelig er sluttproduktet viktigst. Hvis du lager søppel, spiller det ingen rolle hvor lett det er å vedlikeholde.
«Det er ikke deilig å dykke inn i gammel, ulogisk, overkomplisert kode skrevet av noen som ikke lengre jobber med den.»
Unntaket, ikke regelen
Fjellanger mener at å sørge for å prioritere rett, handler om tidlig læring og verifisering, uttesting og tilbakemelding fra kunder.
- For å vite at koden som utvikles er den virksomheten har mest tro på, er det lederens jobb å sette en strategisk retning for utviklerne. De må følges opp på effekten av arbeidet, og ikke på funksjonalitet eller kode i produksjon. Det er når koden i produksjon oppleves som verdifull av kunder at den har en egenverdi, sier hun.
Fjellanger legger til at hun opplever de aller fleste utviklere som nysgjerrige og interesserte når de settes på sporet av kundekontakt og muligheter for læring.
- Så jeg vil si det er unntaket og ikke regelen at utviklere mener koden er viktigere enn «nytten» brukerne har av koden.
Sånn bruker han AI for å bli en mer effektiv koder
Siloene må bygges ned
Ifølge Fjellanger kan utviklere langt unna kunden og kundeopplevelsen betraktelig øke risikoen for å lage bortkastet kode og funksjonalitet.
- Da får vi mindre verdifull kode og større frustrasjon med at “IT-folka” ikke leverer. Dette er noe vi i Team Agile ofte møter hos kunder; at "IT" drar i en annen retning enn resten av virksomheten.
Hun legger til at konsekvensen blir at utviklere kan oppleves som mindre kompetente og relevante for virksomheten - selv om de i realiteten er helt nødvendige for å skape digitale produkter.
- Dessuten bidrar en slik "meg og mitt"-tenkning til å bygge opp siloer i virksomheten, ikke bygge dem ned. Endrings- og læringsdyktighet er nødvendig for å få til gode og verdiskapende løsninger for kunder og virksomhet. For å få fart på verdiskapningen må siloene bygges ned og da er tverrfaglig samarbeid på tvers mer effektivt.
Heier på mer par-koding, mer retro
Kan risikere å bli gammeldags
- Hvordan kan dette påvirke teamet?
- I Team Agile definerer vi ofte team som noen som har felles mål og gjensidig avhengighet. Dersom utviklere ikke er engasjerte i målet - altså sluttproduktet og verdiskapning for kunder– er det strengt talt ikke noe team lenger.
Ifølge Fjellanger er man da inne i en "gammeldags" fossefallstilnærming til utvikling av digitale produkter.
- Med andre ord mindre gunstig tilnærming til programvareutvikling og verdiskapning som gjør at tiden til verdiskapning blir unødvendig lang, sier hun.
Hun forteller at Team Agile bruker mye tid på hos kunder og sammen med team på nettopp å sørge for at innsatsen prioriteres om verdiskapningen.
- Altså det som er godt for både kundene og virksomheten samtidig. I tiden vi lever i med trangere budsjetter og høyere press på å få mer ut av mindre penger blir prioritering av det som faktisk skaper verdi enda viktigere.