260 likes | 465 Views
Smidig-workshop for Agresso. Johannes Brodwall, Chief Scientist, Steria. Agenda. Hvordan gjøre team mer involverte? Hvordan håndtere endringer i omfang under iterasjonen? Tips for bedre Scrumtavler. Plan. Introduksjon rundt bordet
E N D
Smidig-workshop for Agresso Johannes Brodwall, Chief Scientist, Steria
Agenda • Hvordan gjøre team mer involverte? • Hvordan håndtere endringer i omfang under iterasjonen? • Tips for bedre Scrumtavler. Konfidensiell - Navn på presentasjon.ppt
Plan • Introduksjon rundt bordet • Hvem er du? Hva er din erfaring med smidige metoder? Hva ønsker du å få ut av workshopen? • Per spørsmål • 15 minutter om ”hva er problemet” • 15 minutter med 5 innspill fra Johannes • 15 minutter diskusjon, spørsmål og svar • 15 minutter oppsummering fra Johannes • Men først: Skal vi gå gjennom Scrum? • NB: Stopp meg når jeg bruker rare ord! Konfidensiell - Navn på presentasjon.ppt
Involvering Hvordan få hele teamet til å ta ansvar
Fem forslag • Workshop med ”teamets kjøreregler” • Workshop med ”definition of done” • Gjengprogrammering • Møteledelse på rundgang • Plukk arbeidsoppgaver i stedet for tildeling Konfidensiell - Navn på presentasjon.ppt
Teamets spilleregler • Workshop er konsensusbasert. Det vil si at alle har veto • Når skal vi ha standup-møter? • Når skal vi ha iterasjonsoverganger? • Hvordan skal vi organisere arbeidsområdet? • Hvilke teknikker skal vi følge? (Møteleder kan komme med liste eller åpen brainstorming) • Formål: Det er mer motiverende å følge regler man selv har vært med å lage • ”Alle vet at alle vet hvordan de forventes å oppføre seg” Konfidensiell - Navn på presentasjon.ppt
Definition-of-done • Konsensusbasert workshop • Hva skal vi gjøre før vi kan kalle oss ”ferdig”? • Hvilke tester? • Hvordan skal kode se ut? (kodestandard) • Hva skal oppdateres av dokumentasjon? • Skal noen sjekke arbeidet? • Formål: Det er mer motiverende å følge regler man selv har vært med å lage Konfidensiell - Navn på presentasjon.ppt
Gjengprogrammering • Ta en typisk oppgave (eks: legg til felt i skjermbilde og database) • Én person utfører oppgaven først for å kunne anslå omfanget og veilede • Teamet samles med en maskin og en prosjektor • Enten • Veilederen + en til programmerer – resten kommenterer, eller • To sitter ved tastaturet til en hver tid. Hvert 5-10 minutt bytter én plass med en ”publikummer” • Formål: Diskutere hva som er ”god kode” og ”god arbeidsskikk” Konfidensiell - Navn på presentasjon.ppt
Møteledelse på rundgang • Aktuelle møter: • Stand-up • Retrospektiv • Demo-møte (veldig aktuelt!) • ScrumMaster/Teamleder/Coach går gjennom agenda for møtet med møtelederen på forhånd • For demo-møte og retrospektiv – bruk 1-3 timer på forberedelse • Formål: Bygge kompetanse, øke involvering Konfidensiell - Navn på presentasjon.ppt
Plukk arbeidsoppgaver • På starten av en iterasjon: Alle deltar på å dele opp produktkøelementer til oppgaver • Innfør gjerne ”sjablongoppgaver” som ”gjennomgang brukergrensesnitt”, ”testbetingelser”, ”godkjenning” • Ikke plasser ansvar på oppgavene! • Alle oppgavene er i teamets verktøy eller på tavla • Teammedlemmene har kun lov å jobbe med oppgaver som er planlagt, men kan selv velge hvilken ledig oppgave de vil ta • Formål: Redusere personavhengighet, unngå skjev arbeidsfordeling Konfidensiell - Navn på presentasjon.ppt
Bonus: Regelmessige retrospektiver • Set the stage (eksempel: Hva håper du å oppnå) • Gather data (eksempel: Tidslinje, value-chain-mapping) • Generate insights (eksempel: Happy/Frustrated/Thanks/Insights) • Decide what to do (eksempel: prioritert forbedringsliste – skill på ”gratis” forbedringer og de som krever investering) • Close the retrospective (Return-On-Time-Invested, én annen ting til neste gang) Konfidensiell - Navn på presentasjon.ppt
Håndtere omfangsendringer Hvordan redusere forstyrrelser utenfra? Hvordan redusere konsekvensen av forstyrrelser?
Agenda • Produktkø + review: Synlige prioriteringer • Redusere iterasjonslengde • Høyere kvalitet • ”Ofre ett teammedlem” Konfidensiell - Navn på presentasjon.ppt
Produktkø + review • Avtalt prioritering skal være synlig! • Ny oppgave: • Må plasseres på produktkøen • Alle som berøres blir informert • Faktisk resultat skal være synlig! • Review beskriver omfang ved start og endringer underveis • Synliggjør fremdrift på produktkø • Formål: Synliggjør at endringer kommer utenfra og ikke skyldes teamet selv. • Formål: Kun endringer som er viktige vil bli tatt inn Konfidensiell - Navn på presentasjon.ppt
Redusere iterasjonslengde • På slutten av en iterasjon er oppgaver enten ferdige eller ikke (”no partial credit”) • Kortere iterasjoner tvinger fram at man må jobbe med færre samtidige oppgaver • Færre samtidige oppgaver tvinger fram mer samarbeid • Kortere iterasjoner kan redusere behovet for å endre omfang underveis Konfidensiell - Navn på presentasjon.ppt
Høyere kvalitet • Noen ”forstyrrelser” kan være forårsaket av defekter fra levert funksjonalitet • Prosesser som forbedrer kvaliteten: • Test-drevet utvikling • Akseptanse-test-drevet utvikling • Parvis programmering • Kodegjennomgang • Formål: Redusere forstyrrelser ved å redusere defekter som må rettes Konfidensiell - Navn på presentasjon.ppt
”Ofre et teammedlem” • Kalles ofte en ”batman” av en eller annen grunn • En person som tar alle forespørsler i løpet av en iterasjon, slik at teamet kan konsentrere seg om oppgaven. Konfidensiell - Navn på presentasjon.ppt
Mangler én her! Konfidensiell - Navn på presentasjon.ppt
Bedre Scrum-tavler Fem tips til din Scrum-tavle
Først: Hva er en Scrum-tavle? • Produktkøelementer splittes opp i oppgaver • Alle oppgaver skrives på lapper • (Ekstra bonustips: Bruk ”supersticky” Post-its) • Lappene flyttes horisontalt mellom kategorier etter hvert som man jobber med dem • Ekstra bonustips: Alle standup-møter bør være ved tavla. Det er et godt tegn når man refererer til lapper. Konfidensiell - Navn på presentasjon.ppt
Tips for Scrumtavler • Fleksibel oppgavefordeling • Swimlines for MMF • ”Godkjenn” lapp • Tilpass til ditt arbeidsmiljø • Work-in-progress limit Konfidensiell - Navn på presentasjon.ppt
Fleksibel oppgavefordeling • Ikke skriv navn på lappene • Skriv i stedet navn på magneter som man flytter til lappen man jobber med • (Har også plassert magneter i ”feriesonen” og ”sykesenga”) Konfidensiell - Navn på presentasjon.ppt
Swimlines for MMF • Hver oppgave er knyttet til et produktkøelement • Ideelt sett: En ”minimal marketable feature” (”MMF”) • Det vil si: Noe man kan reklamere for i neste release • En iterasjon tar inn flere MMF’er (4-7) • Hver MMF kan være en horisontal inndeling på Scrum-tavla Konfidensiell - Navn på presentasjon.ppt
”Godkjenn” lapp • I stedet for å ha en ”godkjenn” kategori hver hver oppgave -> ha en ”godkjenn” lapp for en user story som inneholder flere oppgaver • Da unngår man at folk kvier seg for å flytte oppgaver over til ”ferdig” • Man kan bruke andre ”sjablong” oppgaver også: • Utarbeide testbetingelser • Gå gjennom brukergrensesnitt (”vakkert GUI”) • Dokumentert Konfidensiell - Navn på presentasjon.ppt
Tilpass ditt arbeidsmiljø • Overleveringer => forskjellige kolonner • Bruk tavla til å ta fram annen viktig informasjon • Tegn en burn-down • Lag en ”parprogrammeringsstjerne” • Lag en liste over hindringer • Hva er en del av ”definition of done” for en oppgave og hva er egne oppgaver? Konfidensiell - Navn på presentasjon.ppt
WIP-limits • Begrens samtidig arbeid • For eksempel: • Kun to oppgaver ”under utvikling” og en ”produksjonssettes” • Gitt at vi har: • 1 oppgave som utvikles • 1 oppgave som er ”ferdig” • 1 oppgave som testerne strever med å verifisere • Utviklere har ikke lov å ta oppgaver fra produktkøen (WIP = 2) • I stedet: Hvordan kan vi hjelpe flaskehalsen i systemet? • http://blog.crisp.se/henrikkniberg/2009/06/26/1246053060000.html Konfidensiell - Navn på presentasjon.ppt