Categories
Teknik

Utveckla samarbetet med parprogrammering

I sista delen av vår artikelserie om parprogrammering skriver Ulf Rask om hur man som ledare kan skapa en miljö som främjar samarbete och ger konkreta tips för att börja parprogrammera.

I sista delen av vår artikelserie om parprogrammering skriver Ulf Rask om hur man som ledare kan skapa en miljö som främjar samarbete och ger konkreta tips för att börja parprogrammera.

I vår bransch jobbar vi ofta i team som tillsammans löser komplexa problem. Denna typ av samarbete är en viktig konkurrensfaktor i mjukvarubranschen, där kraven ökar och marginalerna minskar. Parprogrammering är otroligt kraftfullt för att utveckla just teamets samarbete. Samtidigt kan parprogrammering upplevas som ineffektivt och få irritationer att blossa. Skillnaden i utfallet beror på hur moget teamets samarbete är. Innan ni kastar er in i parprogrammering gör en självutvärdering, hur nära är ni ett riktigt bra samarbete?

I vilken grad har ni….

Ömsesidigt förtroende. Det är grunden för en ärlig dialog mellan ledning och team. Den ärliga dialogen leder till att ledning och team kan börja använda sitt gemensamma omdöme när de skall väga kvalitet, funktion och teamutveckling gentemot varandra. Det kanske låter självklart men jag hör ofta individer i ledande position säga “I assume right from the start that a project is late, it’s the only way to deliver on time” eller “folk gör enbart gör sitt yttersta om de pressas tillräckligt” i samma mening som de ger en deadline med 30% buffert i projektet. De har givetvis helt rätt i sitt antagande, nästan alla gör sitt yttersta för att leverera i tid vilket leder till att samarbete, kvalitet och lärande kommer i andra hand. Konstgjord press som leder till att teamet inte kan arbeta med yrkesstoltet är i min erfarenhet ett väldigt vanligt sätt att långsiktigt hålla tillbaka teamutveckling och samtidigt skapa sig betydande teknisk skuld.

Trygga team. I ett tryggt team vågar teammedlemmar dela med sig och diskutera sitt arbete i teamet. Koden känns inte längre lika privat och det är lättare att diskussionen handlar om sakfrågan istället för den personliga prestationen.

Mål som kräver samarbete. Det är centralt för att få ut synergieffekterna i teamarbete. Tyvärr ser jag många som försöker hjälpa sina team genom att tidigt bryta upp arbetet åt dem så att individer ska kunna sköta mycket av sitt arbete utan att kommunicera med andra. Uppgifter detaljspecas och läggs helst på dem som kan området bäst. Kvar återstår själva implementationen och i det läget där det mest en fråga om den personliga kompetensen räcker till. Det tar emot att be om hjälp och det är lätt att en och samma person fastnar på uppgiften.

Är ditt svar vi har det, är mitt råd att köra en eller flera parprogrammeringsövningar nu på en gång – det kommer att göra samarbetet i teamet ännu starkare! Är ditt svar till viss del tycker jag det är klokt att testa en parprogrammeringsövning för att känna av teamets mognadsgrad. Det kommer nämligen att ge en god indikation på hur mycket värde det finns att hämta i att satsa på teamets samarbete. Är ditt svar inte alls vill jag råda er att avvakta med parprogrammering och att istället börja arbeta på samarbetet från andra håll (se tips på hur du kan göra detta nedan).

Verktyg och övningar

Det finns ett antal verktyg och övningar man kan använda för att främja teamets samarbete i helhet. Här är ett urval av de jag använder:

En tydlig och överenskommen utvecklingsvision som värderar kunskapsutbyte och effektiv problemlösning högre än stjärnspelare och tangentbordstid underlättar kontaktsökandet i utvecklingsarbetet. En bra utvecklingsvision kommuniceras inte progagandamässigt genom affischer utan genom att teamet konsekvent gör bra val i sitt vardagsarbete på grund av ett antal grundvärden som de själva vet vad de står för. Att öppet investera förtroendekapital på rätt grundvärden och ta igen investeringen på teamets leverans är ett sätt att arbeta med och och förstärka utvecklingsvisionen.

Tydlighet i hur teamets tid kan prioriteras. Det finns många vinster (som jag gärna berättar mer om ifall någon är nyfiken) på att tydligt visa hur teamet ligger till gentemot en deadline utan hemliga buffertar, vad som återstår och vad som ännu inte är känt. Genom detta kan man lätt synliggöra när teamet kan lägga tid på yrkesmannamässigt kvalitetsarbete och lärande och när de måste fokusera på affärskritiska mål framför allt annat.

Ståuppmöten i walk-the-board format hjälper team att forma utvecklingspar som fokuserar på att lösa uppgifter tillsammans. I den bifogade filen kan du läsa om ett upplägg på ståuppmöte som jag använt för att stärka teamets samarbete.

Begränsning av mängden pågående arbete för gradvis samman teamet. Om teamet får ha färre pågående stories än det har teammedlemmar så måste några jobba på samma story.

Hjälp teamet att lära känna varandras styrkor och svagheter genom att stimulera samtal. En övning som jag har använt är denna:

Noggrant planerade parprogrammeringsövningar bygger grundläggande tillit och utvecklar teamets förmåga att hantera konflikter. Jag har anpassat ett antal övningar som jag själv kört eller deltagit i för att passa vårt ändamål. Dessa finns beskrivna här:

Några sista tips för att lyckas med parprogrammering

Det är mycket lättare att börja parprogrammera om det i teamet redan finns någon med erfarenhet av effektiv parprogrammering som kan hjälpa till och praktiskt visa hur det går till och skall kännas.

Skaffa dig rejält med kunskap om parprogrammering. Med kunskap är det lättare att sakligt bemöta diskussioner i hurvida parprogrammering är effektiv användning av tid eller inte. Ofta förs dessa av individer som inte vill arbeta nära andra, har lite erfarenhet av effektiv parprogrammering och/eller känner sig otrygga i teamet.

Våga testa att parprogrammera! Det finns ingen fin gräns för när ett team är moget att börja parprogrammera.

Parprogrammering är inte bara ett sätt att främja samarbete utan är positivt för organisationen och utvecklingsarbetet i stort vilket ni kan läsa mer om i Ulfs tidigare artiklar. De beskriver hur och varför parprogrammering fungerar och vad organisationer har att tjäna på ett lärande samarbete.

 

Ytterligare läsning

Lärande samarbete i utvecklingsorganisationer

Del ett av artikelserien handlar om de organisatoriska fördelarna med parprogrammering och korrelationen mellan exceptionella samarbeten och effektivitet.

Effektiv parprogrammering i utvecklingsorganisationer

I del två av artikelserien ger jag min bild av varför parprogrammering är så effektivt och vad man bör tänka på i samspelet mellan utvecklingsparet. jag delar även med mig av konkreta tips för de som vill par-programmera.

Leave a Reply

Your email address will not be published.