Monday, February 26, 2007 10:15 AM
mikaeld
Mer jävlaranamma i projektteamen!!!
En av de stora anledningarna att många projekt aldrig får någon teamkänsla är att de... Inte jobbar ihop! Projektledaren jobbar med hjälp av någon magisk multiplexingalgoritm för att få projektmedlemmar att snurra runt på tre/fyra olika projekt istället för att kraftsamla och LEVERERA ett innan man kör igång något nytt. Tror någon att detta springande är effektivt? Att man vinner tid? Pengar? Varför ser det ut så här på så många ställen?
Tänk er en insats av ett specialförband långt bakom någon hårig fiendes linjer. Det är mörkt... kallt... alla är trötta efter en veckas frammarsch... Signalistsnubben är grymt deppig, han har ont i hela kroppen och har precis tryckt i sig sin sista sura nickel (Den äckliga svarta som man får näsblod av)... Men, rutinerna sitter, alla gör sin uppgift och hjälper gruppen när något oförutsett händer... Målet är i sikte... Prickskytten andas lugnt... Reser sig sakta, sakta upp och säger... "Nä, nu måste jag jitta, det strular lite i ett annat uppdrag där jag är inne på 12% och jag kan bara hänga här på 62%! Toodiloo! Jag är tillbaks på fredag. Skjut inte någon innan jag är tillbaks!"...
Vad Micke undrar: "Varför tillåter man detta när det konstant sänker leveranshastighet (på alla projekten), teammoralen, samt stressar ##¤%¤ ur projektmedlemmarna?"
Jag jobbade ett bra tag som teamledare för ett gäng arkitekter på ett konsultbolag. Grymt bra företag, otroligt duktiga konsulter. Sociala, smarta, diplomatiska... Precis som det står i alla rekryteringsannonser. Någonting fick mig dock att fundera en hel del, alla anställda skulle ut och leka någon slags macho-version av "The Human Element". Ni vet, käka fryst kyckling kryddad med tallbarr och bada vak någonstans i skärgården, frystorka sina kläder, ge varandra "rak" feedback i form av hårda kommentarer som gjorde att 10% av de som var med på kursen ville simma tillbaks till fastlandet med gråten i halsen och en krossad självbild inlindad långt nere i magsäcken, bredvid några bitar fryst kyckling... Fattade aldrig varför man skulle göra detta, det var ju inte så att vi skulle storma någon ö... Vi var 50 datanördar med en himmelsk massa högskolepinnar som ville göra ett bra jobb! Tillsammans!!! Inga soldater... Samtidigt som detta händer åkte företagets VD runt och höll föredrag om "hur man skapar högpresterande team", när det inte fanns ett enda på hela firman... Inte mitt team heller... Det var högpresterande individer, samlade i team... Det är inte ett högprestrande team, det är högpresterande människor, samlade i grupp...
Vad Micke har lärt sig: För att skapa högpresterande team måste man jobba NÄRA tillsammans, aktivt skapa en kultur där alla vågar vara öppna med sina svagheter och styrkor. Få teammedlemmarna att hugga uppgifter som ligger 5% över vad de skulle hugga i vanliga fall, få teammedlemmar att våga ta kontrollerade risker och utmana sig själva istället för att pösa tillbaks i fotöljen. Ett steg i detta är att pressa fram teamet i FIRO modellen, dock utan fryst kyckling och vakbad... Men genom att... Jobba ihop, med saker som får projektet framåt!!! (Oftast inte att äta fryst kyckling...). En härlig sak är att i ett högpresterande team behöver inte alla teammedlemmar vara högpresterande, det är nästan bättre om så inte är falltet. Mixen är viktigare... Cool!
Ett sätt som jag sett fungera i verkligheten, och som löser detta är att använda "feature teams". I vissa projekt kanske hela projektet är ett feature team medan i andra fall så är det ett subset som levererar en specifik feature till huvudprojektet. Ett team som hugger ett eget rum, får en privat branch för sin källkod. Kommer överens om en quality gate för att definera när man är klar och kan köra en reverse integration mot main trunken...Processen ser ut såhär...

Forward integrate är att trycka ut nya saker från main-trunken till vår privata branch, och reverse integrate är det motsatta (Merga med trunken när aktuell feature är klar...).
Att hålla tiden nere för en featureleverans gör att man kan koncentrera sig på att leverera en feature, splitta teamet (om det behövs) och snabbt hugga nästa uppgift. Jag struntar helt i att göra jämförelser till agila metoder i detta fall... Funkar faktiskt för de flesta projekt och processer... Ställ teamen på tårna istället för att se dem försvinna springandes i korridorerna för att hinna runt till alla sina 5 "delprojekt" som alla går över tiden...
Kör så det ryker!!!!