3-minutters guide: Slik lykkes du med smidig utvikling

2

Click here to load reader

description

Smidige metoder er som sjakk: Du kan lære grunnreglene på en kveld, men bruke helelivet på å mestre detaljene. I denne guiden får du konkrete tips om hvordan du forbedrer kommunikasjon, kvalitet og verdiskapning i smidige og ikke-smidige prosjekter.

Transcript of 3-minutters guide: Slik lykkes du med smidig utvikling

Page 1: 3-minutters guide: Slik lykkes du med smidig utvikling

è Denne guiden lærer deg mer om hvor-dan du får bedre kommunikasjon, kvalitetog forretningsfokus i utviklingsprosjekter.Vi har fokusert på at tipsene skal værenyttige uansett om prosjektet kjøres medsmidig metodikk eller ikke.

SLIK BEDRER DU KOMMUNIKASJONENGod kommunikasjon i prosjektet fører tilfærre misforståelser, mer følelse av eier-skap og bedre kontroll.

1. Inkluder kunden på morgenmøteneDaglig kommunikasjon mellom kunde ogleverandør har en dokumentert enormeffekt på hvor vellykket et prosjekt blir.Teamets fokus blir mye bedre dersom deter noen på de daglige standup-møtenesom er interessert i å prøve ut det som harblitt laget i går, som er interessert i åkomme med innspill på det som lages i

dag og som har myndighet til svare påavklaringer angående dagens oppgaver.

2. Programmér sammenUtviklere på prosjekter innehar enormkunnskap, både om de delene av systemetman lager og om programmering generelt.Når man programmerer i par og rotererhvem som jobber sammen hyppig, blirdenne kunnskapen spredt til alle. Dermedreduserer man konsekvensen når noen ersyke eller på ferie og alle får lært mer påjobben. Spe gjerne på med seanser derhele teamet går gjennom deler av kodenpå storskjerm.

3. Bruk en Scrum-tavleFor å hjelpe alle å huske på hva som er måletmed iterasjonen, er det lurt om teametholder standup-møtene rundt en tavle medlapper for alle aktiviteter teamet har plan-

lagt i iterasjonen. Lappene henger i kolonner“venter”, “under arbeid” og “ferdig”. Opp-gaven på hver lapp bør ha et så lite omfangat teamet kan flytte flere lapper til “ferdig”hver dag.

SLIK ØKER DU KVALITETENDet finnes flere måter å måle kvalitet på,og ikke alle metodene er like gode i prak-tisk bruk. I Steria fokuserer vi på kvalitetsom gjør sluttresultatet så godt som mulig ihenhold til kundens behov og ønsker.

1. Verifiser krav med funksjonelle testerNår teamet skal jobbe med en oppgave i eniterasjon, er det viktig at alle har konkretforståelse av oppgaven. Kunden bør beskri-

- Daglig kommunikasjon mellomkunde og leverandør har stor doku-mentert effekt på hvor vellykket etprosjekt blir.

è

Smidige metoder er som sjakk: Du kan lære grunnreglene på en kveld, men bruke helelivet på å mestre detaljene. I denne guiden får du konkrete tips om hvordan du forbedrerkommunikasjon, kvalitet og verdiskapning i smidige og ikke-smidige prosjekter.

Tema: Smidig systemutviklingè www.steria.no/guide

Slik lykkes du med smidig utvikling

Page 2: 3-minutters guide: Slik lykkes du med smidig utvikling

ve eksempler for å gjøre oppgavene mestmulig konkrete. Om mulig, bør kundenuttrykke eksemplene i et verktøy for auto-matisert funksjonell testing, for eksempelFitNesse eller Cucumber. Teamet kan dakjøre testene og automatisk sjekke at deoppfyller kundens forventning.

2. Skriv testen før du skriver kodenFor å kunne utvikle funksjonalitet inkre-mentelt, må man kunne endre på kode somallerede har vært ferdigstilt, samtidig somman er rimelig sikker på at endringen ikkeødelegger noe som har virket før. De funk-sjonelle testene kan gi et sikkerhetsnett,men det tar typisk lang tid å kjøre dem ogde gir ofte ikke en eksakt indikasjon av hvasom er feil når noe ikke virker. Derfor børteamet skrive raske tester som verifiser atklassene i systemet fungerer, helst før manskriver koden som skal testes. Da unngårman å tilpasse testen til koden, men tilpas-ser isteden koden til testen som på sin sidebaserer seg på kundens forventninger.

3. Integrer endringer bedreEndringer bør integreres kontinuerlig ogautomatisk. Automatiske tester er kun ver-difulle dersom de kjøres! Sett derfor opp enContinuous Integration server som sjekkerut og tester alle endringer hver gang enutvikler har sjekket inn en endring til kilde-kodekontroll. Om mulig bør dette systemetogså automatisk installere den siste versjo-nen av programvaren til et egnet testmiljø,slik at kunden alltid kan se hva som er sisteversjon av systemet.

BEDRE FORRETNINGSFOKUSDet hjelper ikke om man lager det bestetenkelige tekniske systemet dersom detikke er det systemet som har verdi for bru-kerne. Det viktigste elementet i et prosjekter å sørge for at man prioriterer riktig hvasom skal lages.

1. Bruk prioritert produktkøMange team lurer på hvilke oppgaver somskal puttes på produktkøen. Dersom noegir forretningsverdi og tar betydelig tid åutføre, bør kunden inkludere oppgaven påproduktkøen. Ikke-funksjonelle krav måsom regel testes. Det tar tid å sette opptestene og rette opp eventuelle mangler.Ikke-funksjonelle krav skal på produktkøen.Brukerdokumentasjon må skrives og kvali-tetsikres. Det tar tid å skrive god bruker-dokumentasjon. Brukerdokumentasjon skalpå produktkøen.

2. Bli helt ferdig med funksjonalitetTeamet får kun “poeng” for helt dønn ferdigutført arbeid. Etter en iterasjon bør alt somtilhører en oppgave være så ferdig at deter greit dersom man aldri mer bruker tid påkoden. Koden, tester og dokumentasjon måvære i en akseptabel tilstand. Det betyr ikkeat koden er frosset. Dersom man for eksem-pel utfører en oppgave for å verifisereresponstid, må teamet oppdatere eksiste-rende kode slik at den støtter tidsmålingerog at man korrigerer eventuelle ytelsespro-blemer man oppdager. Dette arbeidet tilhørerdet å implementere responstidskravet – denoriginale funksjonen er ferdig.

3. Demonstrer systemet underveis Dersom du lager et system som skal inter-essere dine fremtidige brukere, bør teametha noe spennende å vise dem med jevnemellomrom. Bruk gjerne Scrums demo-møtetil å involvere brukerne. Sørg for at inputfra brukerne blir tatt hensyn til, og at de fårbeskjed om innspill som har blitt implemen-tert, slik at de fortsetter å interessere seg.

FELLES FORSTÅELSEEt prosjekt som vet hva det som skallages, der man konstant deler forståelsenav problemet og løsningen og der systemetsom lages er teknisk fremragende girbærekraftig verdi for kunden. Disse tipseneer gode å starte med for å nå gullet i endenav regnbuen.

Slik lykkes du med smidig utvikling

1. Ta med kunden på morgenmøte

2. Programmér sammen

3. Heng opp oppgaver på en tavle

4. Verifiser krav med funksjonelle tester

5. Skriv tester før du skriver kode

6. Integrer endrering hele tiden

7. Bruk en prioritert produktkø

8. Helt dønn ferdig

9. Hold demonstrasjon for brukerne underveis

Les mer på: agilemanifesto.org/iso/no/

Gjort riktig kan et smidig prosjekt levere ferdig funksjonalitet for hver iterasjon.Men det krever fortløpende kommunikasjon, kvalitet og fokus på forretnings-verdi. Dét er måten du lykkes på med smidige prosjekter.

© 2011 Steria AS. Versjon: 2011-03-21

Johannes brodwallChief ScientistTlf. 980 57 660 / E-post: [email protected]

Steria ASBiskop Gunnerus’ gate 14APostboks 2, N-0051 OSLO

è Gå inn på www.steria.no/guide og få tilgang til et helt bibliotek med gratis 3-minutters guider.

Kontakt

- Automatiske tester er svært liteverdifulle dersom de ikke kjøres.