Scrum og kreative prosesser

av Anders Fagerhus

7. november 2008
Publisert i Prosjektledelse

Med fare for å kaste en mengde brannfakler, velger jeg allikevel å skrive litt om min erfaring (dårlige sådann) med bruk av Scrum som prosjektstyringsverktøy i kreative prosesser.

Dette innlegget krever at du har enkel kjennskap til Scrum. Vær også klar over at jeg skriver mye om Javautviklere uten at dette er et angrep på Javautviklere som sådan (det var Javautviklere jeg jobbet sammen med).

Bakgrunn:

Fra en tidligere arbeidsplass var Scrum det nye “store” og mange (de fleste) prosjektledere ble fort sertifiserte ScrumMasters – og dette gjorde dem veldige glade. Det var tidvis en liten “Halleluja”-stemning rundt det hele. Og denne stemningen ble ikke mindre i ledelsen da dette viste seg å fungere helt utmerket – rundt rene utviklingsoppgaver.

Men her stoppet det også opp.

I alle fall for alle som var involvert i kreative prosesser, enten det var Produktuvtikling (idéprosess), Interaksjonsdesign eller Grafisk design. La meg liste opp noe av problemene vi som “kreative” opplevde når Scrum kom og “ødela alt”…

 

  • Total mangel på ressurser: Det mikroskopiske fagmiljøet vi hadde rundt kreative prosesser førte til at det var alt for få design (både interaksjonsdesign og grafisk design) ressurser til antall prosjekter firmaet holdt på med. I beste fall kunne satsningsprosjektene få 0.5 design ressurser i en sprint. Og det var ingen automatikk at den samme ressursen ville bli tilgjengeliggjort i en eventuell påfølgende sprint. Vi var 5 personer fordelt på rundt 70-80 tunge Javautviklere og ca 10 store prosjekter, og vi manglet spisskompetanse på front-end utvikling.
  • Splitting av fagmiljøe: I følge Scrum skal teamet skjermes i så stor grad som mulig, og ettersom vi var 0.5 ressurs på hvert prosjekt, og siden teamene skulle sitte skjermet, ble det slik at fagmiljøet ble splittet. Vi hadde dermed ingen andre designere å “spille ball med”. Og naturlig nok ble man sittende litt her, og litt der, avhengi av hvilke prosjkter man var innvolvert i. Dette på sin side førte igjen til at man mistet flyten i hvert prosjekt…
  • Estimeringspoker: Det fungerte utrolig dårlig at 7 Javautviklere skulle estimere hvor lang tid 1 Interaksjonsdesigner skulle bruke på Wireframes og Grafisk design av en gitt side. Samtidig skulle jeg som Interaksjonsdesigner være med å påvirke hvor lang tid en Javautvikler skulle bruke på å gjøre en bestemt oppgave (uten at jeg hadde forutsetninger for i det hele tatt å uttale meg om dette).
    Resultatet ble at alle kreative oppgaver ble sterkt feilestimert – og at utviklingen startet i forkant av Interaksjonsdesign og Grafisk design (“The Inmates are running the Asylum“)
  • Leveranser og roller: Scrum sier også at det ikke spiller noen rolle hvem som gjør hva, så lenge teamet leverer i henhold til plan i slutten av hver sprint. Dette førte til at jeg (som har enkel web design kunnskap) ble satt til, fordi flertallet i teamet bestemte dette, å levere XHTML / CSS, JavaScript, jQuery funksjonalitet og Flash filer . I starten havnet i store diskursjoner av typen: “Åh, Anders. Kan ikke du også ta i et tak for felleskapet? Ikke bare sitte der å tegne og fargelegge og forklare og være femi.”).
  • Forståelse: Teamet (inkludert meg) manglet forståelse for hva de andre i teamet var spesialister i. Spesielt trengte utviklerne en bedre forståelse av hva Interaksjonsdesign er for noe, og viktigheten av det arbeidet Interaksjonsdesignere gjør.
    Jeg opplevde noe i retning av: ”han tegner litt, også har han noen femenine tusjer og en alt for stor tegnebok. Hvor vanskelig kan det egentlig være?”   

    Og når jeg prøvde å forklare, og skape forståelse og akspet, fikk jeg “denne” (se illustrasjonen under for meg informasjon)

     

  • Meninger om design: Alle har meninger om design, og noen av “stunt”-utviklerne mente derfor svært mye om designbeslutninger som de ikke var kvalifisert til å ta.Jeg tør påstå at en Javautvikler ikke tenker som “andre” mennesker! (Brannfakkel…hehe).
  • Møter: Hver dag så man på antall timer hver ressurs hadde brukt på en gitt task, og så snakket man om hva man hadde gjort dagen i forveien og hva som skal gjøres i dag. Dermed ble jeg stående og si “I går tegnet jeg litt. Og i dag skal jeg forsette med det…” (Jeg gikk selvsagt i mer detalj enn det, men det var slik jeg følte at Javautviklerne hørte hva jeg sa.

    Det var for øverig lite poeng for meg å høre om Refactoring av “Housekeeper”-klienten, eller om de ytterst interessante tabellene og relasjonene i en Sybase database.
    Generelt kan man si at samtlige møter i stor grad var bortkastet for min del!
  • Front-End: Uten spesialkompetanse på Front-end utvikling ble resultatet ikke helt optimalt, og designet led under kulturen “Det ser likt nok ut (i forhold til designskissene). Ikke helt likt, men greit nok”
I min perfekte lille verden:
Dersom jeg kunne fått alt på min måte (på med Interaksjonsdesigner-hatten) tror jeg Scrum og kreative prosesser kunne blitt svært så fint. Men da ville jeg helt sett følgende:
  1. En grundig analysefase må være på plass i forkant av oppstart (Personas, målsetninger, hva skal lages, innhold, brukergrupper, nødvendige brukertester, kravspesifikasjon, retningslinjer, teknologi etc)
  2. Beslutningstaker hos kunden sitte i teamet, og være tilgjengelig for raske avklaringer/beslutninger
  3. Minst 2 (aller helst flere) designressurser i hvert team.
  4. Dedikerte Front-end utviklere
  5. Dedikerte Back-end utviklere (disse må selvsagt være med, men bør i aller høyeste grad “glemmes” når man skal lage et ordentelig bra Interaksjonsdesign. Sorry…men dere får ikke legge føringer på hva som er en god brukeropplevelse basert på hva dere syntes er vanskelig å utvikle.)
  6. En god forståelse av tverrfaglig kompetanse
  7. “Rett man på rett sted”. La Interaksjonsdesigneren gjøre det han kan best, og Javautvikleren gjøre det han kan best. Det blir feil hvis en Grafisk designer skal mene noe om “code indents”,  ”valg av variabelnavn” eller om man skal bruke jQuery istedenfor Scriptaculous
Jeg ser for meg at det er ulike faser av et slikt prosjekt også. F.eks syntes jeg ikke Front-End utviklerne behøver å være like tidlig innvolvert i sprinten som et analyseteam og designere (for det må jo avklares hva som faktisk skal lages før det lages…makes sense, no?).
Det er selvsagt viktig at de er med i oppstartsmøter, og har mulighet til å komme med innspill til tekniske løsninger og funksjonalitet, men inntill man vet hva man skal lage, og hvordan man vil at ting skal fungere, så vil de stort sett sitte å tvinne tommeltotter.
Jeg tror et godt egnet tidspunkt for disse til å bli dypt involvert i prosjektet vil være når Wireframe med innhold er klart (det er viktig at de er tilgjengelige for avklaringer på hva som er teknisk mulig under utviklingen av disse). Når grafisk design er ferdigstilt, er det Interaksjonsdesignerne og de Grafiske designerne som må kvalitetssikre det arbeidet som gjøres på Font-end siden – slik at man får nøyaktig det som har blitt bestemt.
Altså:
  1. Analyse
    Hvem, hva, hvor, når, hvordan, hvorfor osv. Må være klart i forkant av oppstart Sprint.
     
  2. Interaksjonsdesign / Grafisk design
    Hvordan skal det oppleves, hvordan skal det se ut? Trenger en veldig grundig briefing av Analyse-teamet. Når dette er overlevert kan selve Sprint’en starte (analyse teamet er ferdig for denne gang)
     
  3. Front-end utvikling
    Involveringsraten varier i forhold til hva som faktisk skal lages. Kanskje 30% holder?. Interaksjonsdesignere / grafisk designere må kvalitetssikre
Nå har kommet med noen innspill til hva jeg tror kan fungere, og jeg hører gjerne på hva dere har å si om saken. Husk på at jeg ikke er noen ScrumMaster, og at jeg bare kan reletere min kunnskap til Scrum på (dårlige) erfaringer. Jeg regner med at min neste opplevelse med Scrum blir utelukkende positiv :)

15 kommentarer til "Scrum og kreative prosesser"

  1. 1
    12:51, 7. november 2008

    Interessante tanker, Anders! Selv har jeg gått fra initiell skepsis til å være veldig positiv. Men jeg sitter jo som utvikler da.

    Jeg tror mange av problemene du har opplevd ikke nødvendigvis er metodikkens feil, men de som implementerer metodikken. Uten at jeg heller er noen Scrum-ekspert er jeg heller ikke overbevist om at å putte en designer på et Scrum-team og ha dem med på planning poker osv er en veldig god idé. Litt heterogenitet i teamet er bra, for mye er kanskje ikke så bra.

    Ellers kan jeg tilføye at jeg selv har jobbet i Scrum-prosjekter der analyse, interaksjonsdesign og grafisk design har vært holdt litt på siden, men at de alikevel har fulgt opplegget, og prøvd å ligge en eller flere sprinter foran. På denne måten får alle (frontend-utviklere, utviklere) komme igang med sine sprintoppgaver umiddelbart, fordi de ikke trenger å vente på at design skal bli klart osv.

    Jeg er usikker på hvordan man best kjører Scrum med “kreative ressurser”, men jeg må ihvertfall som utvikler si meg svært fornøyd med metodikken.

  2. 2
    15:08, 7. november 2008

    For et lite, norsk selskap ligger det ingen automatikk i at Scrum blir en suksess. Er man små og har et sett godt fungerende prosesser, er man sannsynligvis ganske smidig i utgangspunktet.

    Når det er sagt ligger det mye godt i Scrum, og for de tidligere omtalte selskapene ligger utfordringen i å plukke de beste elementene. Det fine ved Scrum er at man ikke trenger å innføre hele konseptet, men kan innføre de elementene man selv ser som hensiktsmessige. Vi gjorde dette hos min forrige arbeidsgiver, og det opplevdes som positivt.

  3. 3
    10:42, 8. november 2008

    Hvordan kreative disipliner passer inn i smidige metoder er en klassisk problemstilling. En vanlig løsning er at interaksjons- og visuell design kjører sitt eget iterasjonsløp paralellt med utvikling, hvor de ligger en iterasjon i forkant. Dette had jeg vært med på selv og det fungerte veldig bra.

    Når det gjelder planning poker, så er det lov å bruke sunn fornuft. Alle skjønner at det er meningsløst for vaskedama å estimere java utvikling, akkurat som en java utvikler ikke kan estimere en oppgave om visuell formgivning. Uansett hva lærebøkene måtte si om dette, så funker det ikke som du sier:)

    Nøkkelen til å lykkes med smidige metoder ligger ikke i å følge boka mest mulig, men å tilpasse metoden for hvert enkelt projsket/team.
    En bra artikkel som peker på utfordringene man har med kreative disipliner i smidige metoder

  4. 4
    16:45, 8. november 2008

    Det blir litt rart å skylde på scrum når man bryter bortimot alle de rådene scrum kommer med. Poenget med planning poker er at de som skal utføre en oppgave får mest innflytelse over estimatet, så det var en ganske tullete måte de brukte den på. Poenget med et scrum team er at teamet skal inneholde alle som skal ha ansvar på teamet. Da må designeren enten være helt med, eller ikke ha ansvar. (Tror begge alternativer er gode). Poenget med teamansvar er ikke at andre skal bestemme hva du skal gjøre, men at du selv skal velge oppgaver.

    Det er mange årsaker til at Scrum prosjekter kan gå dårlige (som alle andre prosjekter). Men dersom man bryter mot grunnprinsippene i scrum, er det knapt scrums skyld, synes jeg.

    Ellers er jeg som Java-utvikler enig i ditt poeng at utviklere ikke er representative brukere og knapt er mennesker. Dette gjelder dobbelt for såkalte backend-utviklere, som er folk som bare vil leke seg med teknologi uten å forstå verdien av systemet.

    PS: Når du sier “grundig analysefase” merker jeg at jeg blir veldig skeptisk. Mye arbeid i analyse betyr investering i ting som kanskje burde kuttes og oppfordrer til overproduksjon og “lagerhold” av arbeidsoppgaver. Hva legger du i dette når det gjelder tidsforbruk?

  5. 5
    19:57, 8. november 2008

    Scrum og smidig, nye ord for meg. Er det det er snakk om agile development, med iterasjoner, iterasjoner og iterasjoner – slik de har drevet med over atlanteren i et år (ting pleier å bruke et år over hit)? Virket bare litt ukjent med nye, og norske ord :)

  6. 6
    10:15, 9. november 2008

    Det viktigste med scrum slik jeg ser det er at det er et forsøk på å gi overarbeidede ansatte mer kontroll over sin egen tid, med det mål for øyet at alle i bedriften over tid får litt feelgood stemning, i stedet for å bli drevet fra skanse til skanse og levere halvdårlig arbeid.

    Så det at ett prosjekt går i dass, eller det andre, eller det tredje, er egentlig bare positivt, for det gjør deltakerne mer bevisste, og flinkere til å estimere. Det gjør feks at du som grafisk designer på et morramøte, på det tredje scrumprosjektet du er med på, kan gå opp til veggen, røske ned postitlappen der det står at Anders skal levere flash, og si “nope, ekke mitt bord”. Forhåpentligvis hadde du hatt baller til å gjøre det på det FØRSTE prosjektet da, men vi er jo mennesker, og det tar lang tid før vi tør å gjøre det vi burde i nye settinger.

    Ellers er det min erfaring, etter å ha jobba med webdesign siden 1993, at den grafiske designet, innholdsbeskrive og delvis funksjonalitet bør være ferdig (og da mener jeg gjennomdiskutert med kunden og godkjent, gjennom flere runder, og spikra) før utviklingsarbeidet starter. Dernest må alle ønsker om store endringer til funksjonalitet og design fra kunden, fra prosjektledere, eller fra teamet selv, føre til at prosjektet stoppes, slik at man kan gå tilbake til tegnebrettet og igjen bli enige.

    Dermed slipper du som grafiker å bli frusterert.

    Men en annen ting, jeg skjønner ikke helt hva du gjør på et slikt team i det hele tatt hvis du IKKE har erfaring med frontenddesign, i det tilfellet burde du jo bare holdt kjeft og lært av de mest erfarne utviklerne du jobba med, som helt sikkert kan ekstremt mye om brukergrensesnitt. Og så kunne de på sin side lært noe om estetikk av deg.

  7. 7
    Martin Berglund
    10:53, 9. november 2008

    Veldig interessant post og diskusjon! Jeg kjenner igjen en del av problemstillingene som blir tatt opp. Fortsett med slike poster ;)

    @Morten: Kjempeviktig poeng å spikre grafisk design, innholdsbeskrivelse og funksjonalitet i forkant av utvikling. Utfordringen ligger vel i å kommunisere dette klart til prosjektleder og utviklere :)

  8. 8
    00:28, 10. november 2008

    @Morten: Veldig enig at grensesnittet langt på vei burde være definert før man begynner å utvikle. Desverre er det snarere omvendt: kunden har ofte hatt en 10-12 utviklere i sving noen måneder allerede før de trekker inn noen til å spekke hva systemet faktisk skal by brukeren på :)

    Litt overdrevet selvfølgelig, men jeg syns utforming og design ofte skjer i feil rekkefølge.

  9. 9
    10:57, 10. november 2008

    Hei, og takk for stor interesse og mange gode innspill og meninger.

    @Morten:
    Jeg er helt enig i at jeg burde vært tøffere i starten av prosjektet og satt ned foten en gang for alle. I etterpåklokskapens ånd kan jeg si at jeg faktisk lærte noe av hele dette prosjektet. Dette kommer ikke til å gjenta seg for min del :)

    Ellers spurte jeg min mellomleder det samme spørsmålet du stiller meg “hva gjorde du på et slikt prosjekt?!” Den avgjørelsen lå utenfor min kontroll, og baserte seg på en mellomleder som mente at “en Interaksjonsdesigner / Grafisk designer sikkert er fint å ha med på laget”…

    At Interaksjonsdesign og innhold etc bør være 100% ferdig i forkant av utvikling sier seg på mange måter selv – men vi vet alle at det dessverre ikke alltid er slik i den virkelige verden slik som Christian nevner i kommentaren over.

  10. 10
    Vera Reiersen
    13:58, 10. november 2008

    Kjernen i smidig systemutvikling er, slik jeg ser det, å bruke hodet. Virker ikke som verken du eller de andre i dette prosjektet gjorde det. Det er viktig at de tingene man gjør har verdi – og det er lov å stille seg spørsmål eller stoppe opp og reflektere litt dersom man føler at man holder på med meningsløse ting.

  11. 11
    16:15, 12. november 2008

    Først og fremst:

    Morsomt skrevet!

    Etter min erfaring så kunne dette hjulpet deg her:
    1. User story mapping i forkant av sprint
    2. Front end utviklere på teamet (som kunne tatt CSS, HTML osv)
    3. Aktiv kunde- eller prosjekteier involvering

    Noen java-utviklere med mindre negativ holdning til interaksjonsdesign ville nok også hjulpet. Ellers er jo scrum en veldig fin arbeidsmetodikk synes jeg. Det funker bra for oss!

  12. 12
    14:50, 24. november 2008

    Et poeng som ikke er berørt ennå, og som også er viktig, er at man må finne en arbeidsmåte som lar teammedlemmene jobbe delvis i parallell.

    Konkret i dette tilfellet betyr det å finne en arbeidsform som gjør det mulig for en programmerer å begynne jobben før interaksjonsdesigneren er helt ferdig, og så ta justeringer etter hvert som interaksjonsdesigneren bli ferdig. Se ikke bort fra at det da også kommer nyttige innspill tilbake til interaksjonsdesigneren fra programmereren.

    “100% ferdig i forkant” og “overlevering” (innad i teamet) er ord som skurrer når man kjører smidig.

  13. [...] Anders Fagerhus tok utfordringen på strak arm og skrev et strålende blogginlegg om scrum og kreative prosesser. Takk [...]

  14. [...] på Kuttisme: Scrum og kreative prosesser Erfaringer fra smidig prosjekter – innføring av scrum i et kreativt [...]

  15. [...] regner med at dere kommer til å gi meg masse tilbakemeldinger på dette, og i mitt forrige blogginnlegg ble jeg fortalt at jeg verken hadde “baller” eller “brukte hue”, og slikt [...]

Legg igjen et svar

Din e-post vil ikke bli publisert. Obligatoriske felt er merket med *

*

Kutt-isme – Læren om å kutte ut alt som tar fokus bort fra hovedmålet.

Kuttisme.no er en fagblogg om søkemotor- markedsføring, e-postmarkedsføring, brukervennlighet, konverteringsrate, webutvikling og webanalyse.

Lett blanding