Scrum, sprint, sprint review and planning, project backlog, project owner, scrum master, team og user stories. Dette høres jo helt gresk ut. I beste fall engelsk. Hva betyr det egentlig?
I starten var det ikke alt helt klokkeklart for oss heller, men når utviklingsspråket også er engelsk tar det ikke lang tid før ordene kommer helt naturlig. Vi har nemlig med oss en Brummie på laget!
Leverandøren vår Linpro ønsket å bruke en utviklingsmetodikk kalt Scrum. Dette er en forholdsvis ny metodikk i Norge, men dens utbredelse øker stadig. Hovedsakelig betyr det at utviklingen skjer i korte iterasjoner (kalt sprinter), der resultatet av hver sprint er ferdig og brukbar funksjonalitet. Metodikken gir oss som kunde mulighet til å være sterkt og tydelig involvert i prosjektet, noe som var en forutsetning i konkurranseutlysningen.
Lengden på sprintene er forskjellig fra prosjekt til prosjekt og kan være alt fra en uke til to måneder. Det mest vanlige er to til fire uker. I vårt prosjekt er hver sprint på to uker og det er planlagt at vi skal være ferdig etter 8 sprinter – 16 uker. Dette tallet kan justeres opp eller ned basert på hvilken effektivitet og hastighet utviklerne (teamet) klarer å oppnå og opprettholde gjennom sprintene.
Etter hver iterasjon får vi som kunde en demo av utviklet funksjonalitet i sprinten og er med på å prioritere og planlegge hva som skal skje de neste to ukene. Dette møtet kalles sprint review and planning møte.
Prioriteringen skjer på bakgrunn av en liste over funksjonalitet som ikke er utviklet enda. Listen kalles project backlog og består av alle kravene i kravspesifikasjonen omskrevet til user stories. En user story er en kort beskrivelse av et behov en spesifikk bruker har til systemet.
Et enkelt eksempel fra vårt prosjekt:
001 – Authentication
As Fred I need to be able to log on so that I can access restricted areas of the site
Et litt mer omfattende eksempel:
072 – Import from prototype
As a registered and active user in the prototype I need to be able to access previously created content (artwork, comments, votes) so that I can continue using Reaktor.As a registred and active staff/admin user in the prototype I need to have access to a complete history of the content imported from the prototype (artwork, artwork history, registered users, comments, articles etc)
Note: Task includes preparing a script to translate the data to our database, and all necessary changes to the database to accommodate.
Teamet har ingen tradisjonell prosjektleder, men en scrum master som sørger for å fjerne hindringer i og rundt prosjektet slik at teamet kan gjøre jobben sin på en effektiv måte. Teamet er selv ansvarlig for å drive prosjektet fremover på bakgrunn av prioriteringene som gjøres i sprint review and planning møtet.
Vi som kunde deltar aktivt i prosjektet gjennom rollen som produkteier (product owner). Produkteier må ha nødvendig myndighet til å ta alle beslutninger om produktets utvikling, samtidig som den har ansvar for at krav i kravspesifikasjonen blir prioritert i henhold til det som er mest hensiktsmessig for oss som kunde.
[...] kriterier for akseptansetesten. Dette innebærer en siste gjennomgang av kravspesifikasjon opp mot user stories og foreliggende testversjon for å sikre at vi har fått all funksjonalitet som er bestilt og at [...]