30 september, 2009

Scrum-pub i Uppsala, 8:e oktober, 18.00

Jag (Tobias Fors) och Henrik Hindbeck har dragit igång ett evenemang i Uppsala som ska bli återkommande. Vi kallar det för Scrum-pub, och är en helt informell träff den andra torsdagen i varje jämn månad. Mer info finns på Scrum User Group-gruppen på Google.

Nästa träff är alltså: 8 oktober klockan 18.00.

29 september, 2009

Boktips: Wisdom of Teams

Teamarbete är kärnan i Scrum. Ett effektivt team kan slå världen med häpnad, och är ett team vars medlemmar trivs tillsammans, strävar mot eftersträvansvärda mål tillsammans, och faktiskt når dem.

Min favoritbok om team är Katzenbach och Smiths "The Wisdom of Teams". Den innehåller bland annat en ofta citerad modell för effektiva team, som passar utmärkt för tvärfunktionella utvecklingsteam.

Vad inspirerar ditt tänkande om teamarbete? Om inte en bok, så kanske någon eller något från sportens värld? Vad specifikt är det som inspirerar dig? Låter du inspirationen ge avtryck i ditt arbete med team?

28 september, 2009

Lider ni av otydligt klarkriterium?

Har du varit med om följande? Ni samlas för att planera upp en sprint, men kör snabbt fast i en diskussion om hur lång tid saker och ting kommer att ta. Till slut lyckas ni med möda få ihop en plan för sprinten, men när väl sprintgranskningen kommer visar det sig - alldeles för sent - att ni inte alls är överens om att ni är klara. Produktinkrementet har ojämn kvalitet. Några saker är väl testade, andra håller knappt ihop för demo.

Ni kan lida av otydligt klarkriterium. Många gör det.

Vad kan orsaka otydligt klarkriterium? Här är några möjliga orsaker:
  • Det känns så självklart vad "klart" betyder att det känns onödigt att prata om det
  • Ni förstår att ett försök att definiera vad klar betyder kommer att visa hur icke-överens ni är, vilket gör att ni skickligt undviker ämnet
  • Ni har inte sett behovet av att definiera "klar", eftersom ni ännu inte upplevt några problem av att inte ha en gemensam definition
Klarkriteriet hjälper teamet att samarbeta. Utan ett gemensamt klarkriterium kan man egentligen inte veta vilket slutmål man siktar på. Såväl estimering och planering som genomförande blir lidande. Där någon tänker "if it compiles, ship it", tänker en annan sig att automatiserade tester, uppdaterade byggscript och granskning av koden krävs för att en ny funktion ska anses klar. Det blir en källa till konflikter.

Ett kännetecken hos ett effektivt team är att man har en gemensam överenskommelse om hur man arbetar tillsammans. Klarkriteriet är en del av en sådan överenskommelse för effektiva scrumteam.

Är ert klarkriterium tillräckligt tydligt? Samla ditt team och be alla deltagare att, utan att prata med varandra, skriva ned sin definition av "klart" som en punktlista på ett indexkort. När alla är klara, visa korten för varandra och berätta vad ni skrivit? Är era kort ganska lika eller ganska olika? Vad kan ni lära er av de skillnader som finns?

12 augusti, 2009

Scrum-guide

Som en del av Scrum Alliance plan att införa ett flervalsprov som en del av Scrum Master-certifieringen, har Ken Schwaber skrivit ett "officiellt" dokument som beskriver Scrum. Det är en OK sammanfattning, och kan säkert funka bra för den som vill kolla sin egen kunskap om de olika begrepp som definieras i Scrum.

Du kan ladda ned Ken Schwaber's Scrum Guide från Scrum Alliance webbplats.

04 juli, 2009

Skapa ett teamrum

Jag var scrum master för ett litet team som bestod av ett par utvecklare och en testare. Utvecklarna satt sedan länge bredvid varandra i samma rum, men vår testare satt i ett annat rum med flera andra testare från andra projekt. Jag förklarade för vår testare att jag gärna skulle se att hon flyttade in i samma rum som oss andra. Jag förklarade också att jag absolut inte tänkte tvinga henne, men att jag verkligen trodde att det skulle gynna både henne och teamet. Efter en tids tvekan rullade hon över sin stol och dator till oss andra. När vi några månader senare under ett retrospektiv utvärderade hur olika viktiga faktorer utvecklats kom vi in på frågan om teamsamarbete. Utvecklarna indikerade att situationen förändrats svagt till det positiva sedan jag kom in i projektet. Vår testare gav däremot utvecklingen högsta betyg. Jag frågade vad det berodde på. Hon sa att det framför allt berodde på att hon nu satt tillsammans med utvecklarna. Äntligen, sa hon, kände hon sig riktigt delaktig i utvecklingsarbetet.

Den placering som först användes var att ha utvecklarna på ett ställe och testarna på ett annat. En sån placering återspeglar den organisation som fanns i företaget: funktionellt uppdelad med grupper för utvecklare respektive testare. Det föll sig helt naturligt att sitta var och en på sitt hörn, för att kunna samordna arbetet inom specialistgrupperna.

Scrum kan användas i funktionella organisationer, men bygger på tvärfunktionella team. Dessa team som sätts ihop av specialister från olika funktioner inom företaget, till exempel marknad, R&D och QA. Resultatet blir team som innehåller all kompetens som behövs för att bygga klar produkt varje sprint.

När man jobbar i ett tvärfunktionellt team är ens dagliga samarbetspartners inte bara experter från den egna disciplinen, utan alla de andra teammedlemmarna som kallats in från olika områden. Målet är en frekvent och effektiv kommunikation över expertgränserna, så att vi snabbt kan nå verkliga resultat.

Tvärfunktionella team kan drabbas av en hel del konflikter, vilket är helt naturligt. En orsak är att medlemmarna har helt olika bakgrund och helt olika syn på de problem man brottas med. Innan teamet lärt sig uppskatta och utnyttja dessa skillnader tar de sig uttryck som konflikter.

Om vi vill snabba upp teamets utveckling mot att bli högpresterande är teamrum ett attraktivt alternativ. Att sitta på samma plats är ingen garanti för att man pratar med varandra, men det ökar åtminstone sannolikheten, och att prata med varandra ofta är en förutsättning för att snabbt reda ut konflikter.

Många har dåliga erfarenheter av att sitta i öppna kontorslandskap. Att försöka samlokalisera team behöver inte handla om kontorslandskap. Ett eget teamrum ger teamet möjligheten att jobba tillsammans, samtidigt som man slipper det störande i att sitta i stora öppna landskap. Om kontorslandskap är det bästa som går att få kan man ändå förbättra situationen genom att avgränsa en teamyta med hjälp av skiljeväggar och växter.

Somliga har dåliga erfarenheter av att inte ha sitt eget kontorsrum. Min erfarenhet är att det är mest störande att sitta tillsammans med personer som tillhör andra team. Om man å andra sidan sitter tillsammans med personer i det egna teamet kan man vara säker på att de samtal som uppstår handlar om saker man är intresserad av.

Även om man har ett teamrum kan för mycket prat och avbrott bli kontraproduktivt. Vem som helst kan därför ta initiativ till att sammanställa teamets gemensamma regler för att man ska kunna arbeta effektivt. Syftet med att sitta i samma rum är ju att underlätta kommunikationen, men det måste också finnas en möjlighet att jobba fokuserat ensam.

Väggarna i ett teamrum ska vara användbara. Det betyder minst en eller två whiteboards i rummet, och möjlighet att klistra upp stora blädderblocksark på övriga väggar. Allra minst vill jag ha upp sprintbackloggen, alltså planen för den innevarande iterationen, på väggen. Där vill jag kunna se vilka uppgifter som valts ut från produktbackloggen, och hur de brytits ned i aktiviteter. Jag vill också kunna se vem som jobbar med vad, hur mycket tid som återstår, och en klarkurva (burndown chart).

På väggen vill jag också ha upp aktuella hinder, vilka som ingår i teamet och deras kontaktinformation, tidplaner från resten av organisationen och annat som är viktigt för teamets arbete. Ingen ska behöva leta efter väsentlig information.

På dörren till teamets rum vill jag kunna läsa vilket team som finns i rummet: vad teamet kallar sig och vad man jobbar med. Det kan verka uppenbart för de som deltar i teamet men, särskilt i större organisationer, är det otroligt givande för andra som råkar gå förbi att snabbt kunna se vilka som finns i rummet och vad de gör. Att posta en liten affisch på dörren är ett enkelt sätt för teamet att marknadsföra sig.

Somliga väljer att införa teamrum genom att göra ett kontorsrum tillgängligt för teamet, som teammedlemmarna kan använda om de vill. Alla behåller sina individuella platser, men om man vill sitta tillsammans kan man göra det i teamrummet.

När jag berättar om tanken om teamrum blir somliga provocerade. Så mycket lediga lokaler har man minsann inte på sitt kontor. Så kanske det är, men är inte kostnaden för mer ändamålsenliga lokaler försvarlig om det ökar chansen att projektet lyckas?

De flesta skulle säga att det är värt att satsa på bra lokaler, men sen är det kanske ändå en lokalchef som bestämmer hur det blir i slutänden. Att låta en så viktig framgångsfaktor som teammedlemmarnas lokaler avgöras av någon som inte har ansvar för projektets framgång är en suboptimering som finns i alltför många företag. Som scrum master är ditt jobb att verka för att även lokalerna blir en faktor som hanteras på ett medvetet sätt i era utvecklingsprojekt.

04 mars, 2009

Ny workshop: Effektiva återblickar (1 dag)

Jag arbetar på en ny workshop för att hjälpa den växande skaran scrumanvändare att växla upp sina återblickar till en ny nivå. Läs mer om endagsworkshopen Effektiva återblickar på Citerus webbplats.

25 februari, 2009

Nästa CSM-kurs: 6-7 maj

Min nästa öppna kurs Certifierad Scrum Master går av stapeln den 6-7 maj i centrala Stockholm. Det är en lysande möjlighet att fördjupa din förståelse av varför Scrum ser ut som det gör, och hur man gör i praktiken. Jag tror att betygssnittet på kursen under de tre år vi kört den ligger strax under 8 på en 9-gradig skala. Rätt ok!