Blogg

Læringsdrevet utvikling – en litt ærligere tilnærming til utvikling

Vi bygger ikke alltid det kunden i utgangspunktet ber oss om.

Og det er faktisk en god ting.

For i de beste prosjektene handler det ikke om å følge planen slavisk, men om å bruke nysgjerrighet og innsikt til å finne ut hva løsningen egentlig bør være. I praksis betyr det at vi ikke starter med å spikre hvert eneste krav og funksjon. Vi starter med å stille spørsmål. Mange spørsmål. Og så tar vi det derfra, steg for steg.

Vi liker å kalle det læringsdrevet utvikling.

Prosjektgjennomføring

En utviklingsfilosofi, ikke en fasit

Læringsdrevet utvikling er vår egen vri på smidig utvikling. Det er en arbeidsmetode, ja – men først og fremst er det en filosofi for hvordan vi tilnærmer oss komplekse utviklingsprosjekter. Den bygger på én grunnleggende erkjennelse:

Du har ikke full forståelse av problemstillingen før du begynner å jobbe med den.

Det gjelder for deg som kunde og for oss som utviklere. Og det er helt greit. Det viktige er at vi har en felles forståelse av at veien til en god løsning sjelden er rett. Den krever iterasjon, testing og justering. Ikke bare fordi det er lurt, men fordi det er nødvendig.

Vi starter med antagelser

Når vi setter i gang et prosjekt, har begge parter som regel et sett med antagelser. Kunden har en idé om hva slags funksjonalitet som trengs, og hvorfor. Vi har en idé om hvordan det kan løses og til hvilken kostnad.

Problemet er bare at begge disse antagelsene kan vise seg å være feil.

Kanskje er ikke funksjonaliteten så nyttig som man trodde. Kanskje er det teknisk mye mer komplisert å gjennomføre enn antatt. Kanskje oppdager vi underveis at det finnes smartere måter å gjøre det på.

Derfor starter vi ofte med et forprosjekt eller en forstudie. Det gir oss rom til å teste de viktigste hypotesene før vi setter i gang med full utvikling. Vi bruker tid på å avdekke det vi ikke vet, og på å skaffe et mer realistisk bilde av hva løsningen faktisk bør være og hva det vil koste å lage den.

Det koster å ta feil, så la oss feile tidlig

Hvis det er én ting vi har lært, så er det at det er dyrt å bygge feil ting. Og jo senere i prosessen man oppdager feilen, jo dyrere blir det.

Derfor er målet vårt alltid å minimere innsatsen før vi vet at løsningen har noe for seg. I stedet for å gå rett på fullproduksjon, starter vi med en minimumsløsning, men ikke bare en “minimal” variant, som ofte skjæres ned til det ugjenkjennelige. Nei, vi snakker om en løsning som er viable – altså, nyttig. Den må kunne testes i virkeligheten, og gi reell verdi. Først da kan vi lære noe av den.

Å bruke 100 000 kroner på å finne ut at et produkt ikke fungerer, kan faktisk være en god investering. For det sparer deg for å bruke én million på å bygge det ferdig før du oppdager akkurat det samme.

Engasjerte møtedeltakere

Smidig utvikling krever mer kontroll, ikke mindre

En vanlig misforståelse er at smidig utvikling betyr planløshet. At man bare “tar ting på sparket”. Men tvert imot, det krever disiplin.

Læringsdrevet utvikling handler om å gjøre én ting av gangen. Vi bygger. Vi evaluerer. Vi lærer. Og så justerer vi. Det betyr at vi må være tydelige på hva vi skal gjøre i hvert steg, og hva vi skal oppnå. Vi må tørre å ta valg og si nei til nye ønsker før vi har lært det vi trenger.

Vi vet kanskje ikke hvordan løsningen ser ut om to måneder, men vi vet hva vi vil finne ut før vi kommer dit. Den kunnskapen styrer neste steg.

Derfor fungerer læringsdrevet utvikling

Når vi jobber på denne måten, får kundene:

Og ikke minst: et produkt som faktisk løser det riktige problemet.

Det gir trygghet og bedre resultater. Vi bruker ikke mer tid enn nødvendig. Vi bygger ikke funksjonalitet som ikke trengs. Og vi slipper å kaste bort ressurser på feil retning.

Elektronikkutvikling og testing

Gode løsninger oppstår ikke av seg selv

Vi sier det ofte, fordi det er sant: Gode løsninger oppstår ikke av seg selv. De bygges linje for linje, komponent for komponent og piksel for piksel.

Læringsdrevet utvikling er vår måte å gjøre nettopp det på. Ikke ved å følge en fastlagt plan fra A til Å, men ved å starte med det viktigste, lære underveis, og hele tiden iterere løsningen sammen med kunden.

For oss handler utvikling ikke bare om kode og systemer. Det handler om å være nysgjerrige, åpne og ærlige, også når vi ikke har alle svarene. Det er sånn vi bygger løsninger som varer.