Intelligent grundlag for softwareudvikling
Mange softwareudviklingsprojekter går desværre galt. Hvis alle projekter gik godt, ville vi have et endnu større ocean af apps og gadgets at vælge imellem som forbrugere, “digitalister” og almindeligt arbejdende mennesker.
Så måske er der en grad af naturlig udvælgelse i spil, men risikoen for at det går galt holder også mange virksomheder og startups tilbage. Eller i tilfælde af at det går galt, kan det efterlade virksomhedens fremtid uvis.
App- og webudvikling går ofte galt grundet eksempelvis misforståelser mellem kunde og leverandør, ændrede krav og uventede brugerbehov.
Kunder jeg har arbejdet med, der måske ikke selv har baggrund i at udvikle, kan sagtens have fantastiske ideer til hvordan problemstillinger kan løses digitalt, fordi de er nær problemstillingen, men ideerne er ofte brudstykker af en vision.
Lidt ligesom at stå i et mørkt rum med kun en lommelygte. Man ser nogle ting klart og i et godt lys, men det er svært at se hele sammenhængen.
Starter man en udviklingsproces uden at få gravet sammenhængen frem ender det ofte galt. Nye behov vil dukke op undervejs, tidsplaner og budgetter vil skride. Måske mere end hvad kundens investeringsevne kan bære.
Den bedste måde at minimere risiko for at miste sin investering er ved at gøre sin ide konkret og raffinere den på baggrund af tests tidligt i processen. Herved får man valideret at de brugsscenarier systemet skal understøtte er værdiskabende og effektive.
De stærkeste redskaber i den henseende er mock-ups og prototyper. Mock-ups er visuelle designs uden interaktivitet. De kan laves med pen og papir, klip og klister eller enkle visuelle designs i Figma, Sketch eller Adobe XD. Hvad end medie, der skal til for at formidle ideer til den nærmeste gruppe af stakeholders.
Prototypen er en simulation af brugeroplevelsen. Baseret på ideer og tidlige tests af mock-ups, kæder den flere dele af et brugsscenarie sammen i en visuel repræsentation som en bruger kan klikke og navigere i. Prototypen bruges til at udføre tests og indsamle data. Både kvalitativt, feedback fra brugere, men også kvantitativt. Stilles brugerne en opgave, kan værdifulde metrikker være ting som antal klik, forbrugt tid, antal sideskift (kan brugeren finde rundt i løsningen?), etc.
Prototypen er hurtigere at udvikle end at bygge selve systemet. Derfor tillader det også at man iterere, dvs. laver flere versioner af løsningen, i et forsøg på at optimere de metrikker man måler på.
Godt, du spørger!
Billedet nedenfor viser i grove træk den udviklingsproces jeg følger. Jeg anvender den til udvikling af hele systemer, dele af større og komplekse systemer eller på enkelte features.
Udviklingen, altså der hvor nørderne skriver kode og drikker Pepsi Max, er efter min erfaring 5-10x mere ressourcekrævende end den foregående fase med afklaring og konceptudvikling hvori man arbejder med mock-ups og prototyper.
Med lidt simplificeret købmandsregning betyder det at 50.000kr brugt på et velstruktureret konceptudviklingsforløb minimerer risikoen for at du skal bruge de 250-500.000kr på udviklingen af systemet mere end en gang.
Og DET er altså mange penge.
Konceptudvikling, med mock-ups, prototyper og afprøvning overfor rigtige brugere, svarer til at lave en tegning inden man bygger et hus, læse en babybog inden man får børn, læse samlevejledningen inden man samler et IKEA-møbel.
Det giver rigtig god mening.