logo

Netmaking

22 71 95 97

Hvordan vi løser et problem

En uniform tilnærming til problemløsning hjelper deg med  å nå en best mulig løsning, enten det er i arbeidet eller på hjemmebane. Slik går vi frem når vi skal løse et problem.

En universalmetode for problemløsning

Jeg lar meg fascinere av universale metodikker som er generelt appliserbare til forskjellige deler av livet (som Getting Things Done). Finnes det en universalmetode for å løse et problem?

Ja, jeg tror det. Ved å studere fremgangsmåten til flere gode problemløsere jeg har vært heldig å få jobbe med, har det utkrystallisert seg en metode som vi benytter i Netmaking. Konseptet er enkelt nok til at det kan benyttes til alt fra programmering til oppussing. 

Kort fortalt deler vi problemløsning i fire steg:

  1. Kartlegging
  2. Planlegging
  3. Gjennomføring
  4. Testing

1. Kartlegging

Hva oppleves som problematisk? Hva er ønsket tilstand? 

Er det for eksempel slik at du opplever kjøkkenet ditt som mørkt, og du skulle ønske at det fremstår lysere? Kartlegging bidrar til å finne kjernen i problemet og sørge for midler som oppfyller målet.

På kartleggingstadiet er vi opptatt av å:

  • Sikre at vi har samme forståelse av problemet som «problemeieren» (kunden, i vårt tilfelle)
  • Supplere eventuelle hull i problemeierens forståelse
  • Avstemme problemeierens forventninger til både løsning og prosess

Vi nyttegjør oss gjerne av brukerhistorier og scenarier, men kartleggingen kan like godt foregå muntlig eller skribles på en serviett.

Kartleggingen er ferdig når: Problem- og målforståelse er etablert.

2. Planlegging

Planleggingssteget er det mange som hopper over. Etter kartlegging vil man gjerne komme i gang med løsningen, for eksempel ved å dra rett i butikken for å kjøpe lys maling. Å bruke ytterligere tid på “meta-arbeid” kan føles ineffektivt.

Formålet med å legge en plan er imidlertid å spare tid. Ved å definere de enkelte stegene i gjennomføringen unngår du å starte feil sted i «kjeden» (for eksempel ved å stå klar med malingskosten før du har vasket veggen) eller å føle deg overveldet av arbeidet («Jeg vet ikke hvor jeg skal begynne»).

Planlegging «tvinger» deg til å ta stilling til detaljer som kanskje ble oversett på kartleggingsstadiet, og lar deg vurdere hvilket mønster/praksis som egner seg for løsningen.

Systematisk beskrevet kan vi si at planleggingen bør bestå av å:

  • Innhente erfaringsgrunnlag fra andre som har løst lignende oppgaver
  • Utforme en plan for gjennomføring

For oss gir planleggingen oss mulighet til å diskutere tiltenkt løsning med andre kollegaer slik at vi kan få input på raskere eller bedre måter å løse problemet på.

Planleggingen er ferdig når: Du får bekreftet at planen vil sikre en effektiv og god gjennomføring.

3. Gjennomføring

Har du både kartlagt og planlagt arbeidet, er det bare å starte på steg 1 og jobbe seg nedover på listen. 

I noen tilfeller forventes det mer av gjennomføringen utover å løse det konkrete problemet. Det forventes for eksempel at du fjerner malingsflekker og setter på plass møblene etter at du har malt kjøkkenet. I vårt fag kaller vi tydeliggjøringen av disse forventningene «Definition of Done» (DoD). Hos oss ivaretar vi vår DoD gjennom en faglig vurdering av arbeidet.

Vær for øvrig åpen for at planen du har lagt ikke er optimal, og tillat deg å foredle underveis etterhvert som du lærer mer om problemet (i programmering kalles det refaktorering). Og om du står fast, be om hjelp fremfor å stange hodet i veggen.

Gjennomføringen er ferdig når: Stegene i planen er utført, og du får bekreftet at du er ferdig. 

4. Testing

Hvert av stegene overfor har et eget teststeg («[Steget] er ferdig når») for å kvalitetssikre arbeidet. Trengs det et eget steg til testing?

Har du fulgt alle stegene i planen for å male kjøkkenet ditt, er du antagelig ferdig etter steg 3. I utvikling består det dedikerte teststeget i å forsikre at løsningen adresser problemet i sitt endelige miljø. Gjennom testing i forskjellige miljøer reduserer vi risikoen for å oppdage utilsiktede problemer på det tidspunktet hvor konsekvensene er størst - i produksjonsmiljøet.

Testingen er ferdig når: Problemeieren godtar løsningen.

 

God problemløsning handler om å gjøre det riktig første gang. En kartlegging av hva som er kimen i problemet og hva du ønsker å oppnå sikrer at planleggingen og gjennomføringen i sin tur beholder øynene på målet. Færre avstikkere i prosessen er tid spart. Uansett om det gjelder ny farge på veggen, bestilling av en ferietur eller utvikling av en nettside!

 

Les også: Bli forstått av utviklere

Eirik Alfstad Johansen

Eirik har arbeidet med webutvikling siden 1997, og har bla. blitt publisert i internasjonale publikasjoner både på og av nett. Han har også drevet netmaking.com, en internasjonal nettside for nettutviklere, samt det prisbelønte nyhetsbrevet Absolute Webmaster. I dag er Eirik Alfstad Johansen daglig leder i Netmaking.