Parenteser

Betraktninger fra Mat-teamets grønne enger

Hvor lang tid tar det?

Når vi forteller om hvordan vi bruker parprogrammering er et av de vanligste oppfølgingsspørsmålene: “tar det ikke mer tid?”, som i “er det ikke mindre effektivt?” Det korte svaret er nei, tvert imot. Det lengre svaret er noe mer nyansert.

Det er to aspekter ved dette spørsmålet jeg syns er interessant: Det første er det tekniske tidsaspektet. Det andre er at tid brukt bare er én av flere interessante mål på et stykke arbeid. La oss starte med tidsaspektet.

Tar det lengre tid?

Hvis to mennesker sitter på samme datamaskin for å løse et og samme problem så skulle man jo tro at det er dårligere utnyttelse av tiden enn om de to samme menneskene satt på hver sin maskin med hvert sitt problem. Men det kommer an på hva de gjør, og hvordan samarbeidet påvirker kvalitet og gjennomføring.

Feilsøking er en oppgave som ofte går raskere med to hoder enn ett. Å ha noen å sparre med, og å være to til å komme med hypoteser kan gjøre at man dramatisk raskere finner hva problemet er.

Vanskelige oppgaver går som regel raskere med to enn når man sitter alene. Vi pleier å si at når én person jobber alene, har du bare halvparten av arbeidskraften – men kreativiteten reduseres langt mer. Igjen kan en sparringspartner være gull verdt og bidra til at ting går raskere.

La oss ikke glemme at noen oppgaver rett og slett er kjedelige eller vonde på et vis. I disse situasjonene kan det å ha litt moralsk støtte hjelpe oss å holde fokus og komme oss igjennom oppgaven. Det går rett og slett raskere fordi terskelen for å surre rundt på internett i stedet for å gjøre jobben blir høyere.

Til slutt er det en del oppgaver hvor det å være to ikke øker farten på noe vis. Noen ting tar til og med lengre tid å gjøre sammen enn alene. Men det kan være verdt å gjøre det sammen allikevel.

Er tid på kort sikt det eneste som er viktig?

Det er lett å måle hvor lang tid det tar å kode én Jira-task. Men er det det eneste interessante målet?

Med parprogrammering er koden ferdig reviewet idet den er klar. Allerede her har vi spart tid på å slippe å lage en pull request, slippe å vente på at noen har tid til å se på den, og gjennomføre en asynkron skriftlig review.

Løsningene jeg lager sammen med andre blir så og si alltid bedre enn hva jeg kommer opp med alene. Dette fører på sikt til mindre rework, som vi vet at fører til mer velfungerende team og bedre kapasitet for leveranse.

Parprogrammering er en fantastisk måte å gjøre opplæring på: både for folk som er ferske i faget og for de som bare er nye i vår kodebase. Den erfarne i paret kan styre arbeidet litt og fungere som en guide. Koblet med test-drevet utvikling kan man virkelig legge til rette for god og effektiv læring.

Så tar parprogrammering mer tid? Jeg startet med å si nei, tvert i mot. Det nyanserte svaret er at ja, det kan ta litt mer tid på kort sikt, men ved å sette fart på kompetanseøkning i teamet og gi oss bedre løsninger så sparer det oss for tid i lengden.

Christian

Om Samarbeid, Parprogrammering og Produktivitet