Interaksjonsdesign i smidigland – fra en utviklers perspektiv

Gjennom flere prosjekter har jeg hatt gleden av å se hvor viktig det er å ha interaksjonsdesignere på utviklingsprosjekter. Som utvikler er det givende å ha noen på teamet som kan gi applikasjonen det løftet som skal til for at den får det lille ekstra som imponerer brukerne og kunden og gjør at man virkelig kan være stolt av det man lager!

Min erfaring er at mange interaksjonsdesignere synes det er vanskelig å finne sin plass i en smidig hverdag, hvor krav og retning kan endre seg raskt. Der metodikken tidligere har vært å designe en helhetlig brukeropplevelse før utviklingen begynner, må interaksjonsdesignere nå ha flere fokus samtidig. I et landskap som oppfordrer til endring og avvik fra plan, må man forsøke å ligge et hestehode foran utviklerne til enhver tid – samtidig som det er forventet at man greier å løfte blikket og lage en langsiktig plan for applikasjonen.

En interaksjonsdesigners oppgaver

Under følger en beskrivelse av de forskjellige oppgavene til en interaksjonsdesigner. Jeg har forsøkt å prioritere oppgavene med de viktigste først. Merk at jeg har valgt å fokusere på noen få oppgaver; de mest sentrale sett fra mitt daglige virke som utvikler. I realiteten gjør interaksjonsdesignere uendelig mye mer, og har en enorm verktøykasse.

Daglig oppfølging

Den viktigste jobben en interaksjonsdesigner gjør er å følge opp utviklingen fra dag til dag. Det vil si å «henge over» utviklerne og passe på at all funksjonalitet som lages er god nok. Helst bør dette gjøres som en fast del av utviklingsprosessen – gjerne som et akseptansekriterium innenfor hver iterasjon. Ethvert krav som toucher frontend bør først diskuteres med en interaksjonsdesigner – gjerne resulterende i omtrentlige papirskisser for løsningen. Deretter skal den ferdige implementasjonen finpusses og godkjennes før kravet kan sies å være ferdig. Skal dette fungere er det viktig at utviklerne også fokuserer på å involvere og imøtekomme interaksjonsdesigneren, slik at det ikke blir en «vi mot dem»-holdning.

Dersom man ikke har nok ressurser til å ligge i forkant innenfor hver enkelt iterasjon, kan man legge inn i prosessen at ingen krav er klare til utvikling før interaksjonsdesignet er ferdig. Dette vil redusere behovet for daglig oppfølging og gjøre det lettere å prioritere i hvor stor grad hvert enkelt krav skal detaljeres.

Skissere målbilde for applikasjonen

Den neste viktige jobben er å skissere et målbilde for hele applikasjonen. Målbildet er et ideal for hvordan applikasjonen kan bli seende ut når den er ferdig, og bør brukes til å bygge og prioritere backlog. Det er viktig å styre forventningene, slik at man ikke kommer i en posisjon der man ikke får satt noe i produksjon før målbildet er nådd og alt er implementert. Å balansere mellom målbilde og daglig oppfølging kan være vanskelig; man bør være i stand til å produksjonssette deler av løsningen ofte, mens man fortsatt sikter mot idealbildet for hele applikasjonen.

Skissering av målbilde bør også inneholde utprøving av enkeltkomponenter, for eksempel ved hjelp av papirskisser eller prototyper, slik at man unngår ubehagelige overraskelser sent i utviklingen.

Brukertester

For å sikre at man er på rett spor kan det være nyttig å hente inn feedback ved å gjennomføre brukertester av løsningen. Dette bør ikke utsettes til man anser hele applikasjonen som ferdig, men heller gjentas flere ganger under utviklingen dersom ressursene tillater det. Hvis man får produksjonssatt løsningen tidlig, bør man selvsagt også følge opp de tidlige brukerne.

Avslutning

Denne introduksjonen til hvordan interaksjonsdesign kan passe inn i smidig utvikling kan kanskje best avsluttes med et fritt gjengitt sitat av Mary Poppendieck: «Maybe we shouldn’t be thinking about how we fit usability into agile, but how we can fit agile into usability». Å skape verdi handler ikke om domenemodeller, rammeverk eller programmeringsspråk. Verdi dreier seg om å tilfredsstille og begeistre kundene dine! Dette må vi som programmere innse at det er andre som kan bedre enn oss.

  • Odd Christer

    Interessant. Jeg må si meg svært enig i at en interaksjonsdesigner tilfører et prosjekt _mye_ i forhold til å lage løsninger som både ser bra ut og ikke minst fungerer bra. Å jobbe på systemer hvor man slenger sammen noen skjermbilder med ymse interaksjonsmønstere (hvor mange trenger _egentlig_ en rik applikasjon?) og dårlig struktur er bare leit.

    NetLife har skrevet litt om det samme fra den andre siden av gjerdet:

    http://www.iallenkelhet.no/scrum-er-ikke-tilstrekkelig-for-a-lage-gode-brukeropplevelser

    http://www.iallenkelhet.no/hvordan-jobbe-smidig-nar-vi-lager-nytt-nettsted

  • Nina Volstad

    Kjempebra Jøran, supert at du setter fokus på dette :)

  • http://bekk.no Christer Løvaas

    Veldig bra oppsummering, jeg er bare ikke helt på linje når det gjelder domenemodeller. Domenet definerer begrepene i løsningen og språket som brukes i forretningen. At alle involverte i et prosjekt bruker de samme begrepene og har den samme konseptuelle forståelsen er krux. Ønsker meg derfor betydelig mer domenejobbing på tvers av roller i utviklingsprosjekter.

  • nadinecaille

    Du viser at du har evne til å sette deg inn i rollen til en annen fagekspert. Det er en veldig god egenskap som kan bidra til bedre samarbeid i prosjekter med tverrfaglige team. Takk for spennende innlegg!

  • Alf B. Prøven

    Veldig bra innlegg! Interaksjonsdesignet er særdeles viktig, da det har lite effekt å lage “noe” som får jobbe gjort – men brukerne ikke vil/kan bruke.
    Kun en kommentar fra en som har jobbet litt som “the missing link” mellom kunde/bruker og utviklere, og litt som konsulent:
    1. Jeg mener målbildet for applikasjonen bør være første steg i prosessen. Og i forbindelse med utarbeidelsen av målbildet, bør interaksjonsdesigneren være i dialog med kunde/bruker. Da er man enig om hva man er ute etter å få til med applikasjonen. Således er kan dette også være et godt utgangspunkt for funcspec/kravspec.
    Men jeg er helt på nett med din tankegang!

  • Jon Bernholdt Olsen

    For mer om interaksjonsdesing og smidig fra en interaksjonsdesigner sin synsvinkel se video av Klara sin lyntale på Smidig2010: Interaksjonsdesign + smidig metodikk = sant!

    http://streaming.java.no/tcs/#page:recordingList&pageNumber:1&id:150EF0A2-F241-4F16-AD72-319826CC3849