Effektivitet i it-verdenen er en svær størrelse. Vi kan ikke måle det i antal kodelinjer, vi kan ikke måle det i antal timer med røven i sædet foran computeren og til tider er vi mest effektive, når vi ser ud til at hygge os foran et whiteboard eller endda over en kop kaffe.
Tiden med hænderne på tastaturet virker udefra set som den mest effektive tid, så for mange chefer kan en praksis som parprogrammering virke til at introducere meget spild. Der er kun en programmør der direkte bidrager til produktet – man har jo ikke fire hænder på tastaturet ad gangen!
Endnu værre bliver det, når man introducerer begrebet Mob-programming (direkte oversat til pøbel-programmering eller bare gruppe-programmering – mafiaen skal vi ikke have indblandet). Mob-programming går i sin simpelhed ud på at programmere på en computer med hele teamet i samarbejde foran en storskærm.
Konceptet illustrerer så godt at effektiv programmering ikke handler om hvor mange tegn man kan skrive i minuttet, men om at den nødvendige viden og forståelse er til stede samt evnen til at omformulere den viden til noget der giver mening i det system man er ved at bygge. Det interessante er også her, hvem der en en del af den “mob”, som programmerer. Ikke kun programmører. Forretningsviden er lige så vigtigt – en product owner og en tester kan også være med her.
Mange øjne kan i teorien holde tingene simple og uden teknisk gæld – og til noget som løser det rigtige problem. Produktet bliver både bygget rigtigt og det rigtige bliver bygget.
Ulempen er at det er utroligt hårdt. Det er hårdt nok at lave parprogrammering, fordi man er så meget på og det gør programmering til en social aktivitet. Enhver spildtid eller afstikker spilder mange menneskers tid. Der er heldigvis ingen der siger man skal gøre det hele tiden – men det er nok et eksperiment værd.
Derfor gik jeg ind og hørte Woody Zuill på GOTOcph tale om emnet. Woody er meget erfaren på dette punkt og for ham var det at opdage mob-programming en livsændrende hændelse. Woody Zuills går ud som konsulent og hjælper teams – i en konkret situation nåede teamet til at arbejde med mobprogramming 8 timer om dagen, 5 dage om ugen. og så bliver en af de vigtigste pointer komfort. Man skal heller ikke sidde for tæt – Woody snakkede om smellability… altså hvor meget man kan lugte sine team-kammerater.
Woody skelner mellem en driver og flere navigators. I parprogrammering er der et antipattern driver/observer, som meget enkelt går ud på at det bliver programmering med en der kigger på. For for at undgå det indføres reglen “For an idea to go from someone’s head into the computer it must go through someone else’s hands”. Det samme gælder for mobprogramming.
Sådan ser det ud med timelapse:
Bemærk den fælles frokost. Frokosten handlede ikke om mere forretning, men om at lære hinanden at kende som mennesker. Mobprogrammering handler, som Woody også nævnede, ikke primært om programmering, men om samarbejde.