Låt oss börja med en ganska vanlig fråga:
”Oj, vad vårt projekt är försenat, vad ska vi göra?”
Ett lika vanligt svar är:
”Stoppa in mer resurser! Bara ös in med folk!”
Handen på hjärtat, hur många svarade spontant så?
Frederick Brooks skrev för över 35 år sedan boken The Mythical Man-Month, där han visar en formel för hur man räknar ut hur mycket förseningen ökar i ett försenat projekt om man stoppar in ytterligare en person. Hur kommer det sig då att så många tror att det ska hjälpa?
Vad som är ännu värre, förutom att förseningen riskerar att öka, är att projekt med för många personer inblandade har en tendens att leda till för stor kodbas. Det är snarast att betrakta som en naturlag. Det kan förstås bli för stor kodbas av många andra anledningar också, men det här är en faktor.
Varje utvecklare vill naturligtvis vara produktiv och precis som de övriga knåpa ihop X antal rader om dagen. Alltså växer kodbasens storlek i direkt relation till antalet utvecklare.
Även om jag får klåda av projekt som med tiden blir överbelagda så finns det något som jag ogillar ännu mer. Det är projekt som dag ett börjar överbefolkade. Förutom en för stor kodbas så tillkommer då problem med att X personer sitter och väntar på något att göra, vilket kostar mycket till ingen nytta. Ganska snabbt börjar alla skapa sin egen arkitektur. Likaså spekuleras krav fram ganska vilt. Projektet är helt enkelt i ett mycket dåligt läge redan från början.
Varför blir det så? Jag tror en anledning kan vara att många ser mjukvaruutveckling som en tangentbordsintensiv arbetsuppgift. Visst, det skadar inte att vara snabbfingrad, men det är mest för att själva knappandet inte ska distrahera tankearbetet och de mentala modellerna. Det handlar mycket mindre om att programmet ska bli färdigt snabbt och till rätt kvalitet.
Om du är dubbelt så snabb vid tangentbordet som kollegan, är du då dubbelt så bra som han eller hon?
Kanske, men om man ska tro ett citat från Bill Gates där han ska ha sagt att en superbra programmerare är värd 10 000 gånger högre lön än en medioker, så borde dubbel tangentbordshastighet alltså vara en försvinnande liten fördel. Troligen spelar andra saker in mycket mer.
När jag tänker efter så har vi ju ett ordspråk för företeelsen, det ordspråket är nog betydligt äldre än Brooks bok. Det säger: ”Ju fler kockar, desto sämre soppa.” Undvik alltså att ”ösa in mer resurser” till varje pris.