Distribuerad utveckling

Samtdigt som erfarenhet visar att samlokalisering av medlemmarna i ett utvecklingsteam är en framgångsfaktor, finns det flera skäl till varför en distribuerad utvecklingsmiljö kan vara att föredra. Brist på expertis och resurser är ett vanligt skäl. Arbetsplatskrav och kostnader är andra skäl. Framgången hos många open source-projekt med team distribuerade över hela världen gör att många ser de geografiska skillnaderna försvinna. Men för att göra distribuerade team framgångsrika team krävs både kunskap och erfarenhet på området.

För den typ av projekt som kräver stora, distribuerade team, har Exigen Services utvecklat en metodik som ger maximalt utbyte till minimal over-head. Exigen Services är en erkänd ledare inom området Agil, distribuerad utveckling. Nedan är några viktiga framgångsfaktorer:

Team building

I en distribuerad utvecklingsmiljö är det mycket viktigt att etablera och utveckla en gemensam känsla av ett team för alla geografiska delar. Vår erfarenhet visar att uppstarten är en nyckelfas. Genom att initiera projekt så att medlemmarna får träffas personligen och bygga gemenskap med personliga relationer ger mycket goda resultat. Därefter kan stora delar av projektet skötas distribuerat och möten behöver inte ske mer än ca en gång per kvartal under projektets gång.

Resultatet blir bättre genom att låta gränserna helt försvinna mellan teamen. Två eller flera i teamet arbetar med samma sak, över de geografiska gränserna. Det kan ta en stund innan man hittar rätt form för kunskapsöverföring, men ganska snabbt hittar man formerna för fullständig integration.

Kommunikation

Tidsskillnaderna mellan team är naturligtvis också en avgörande faktor. I Norden har vi en fördel med att ha väldigt små sådana eftersom våra utvecklingscentra befinner sig på mellan 1-2 timmars tidsskillnad, i Östeuropa. Våra centra i Riga och Sankt Petersburg erbjuder arbetstider som är helt synkroniserade med våra. Användning av moderna kommunikationsverktyg (IM, tele/video konferenser), etablerade SLA för tillgång till expertis som svarar på frågor som tillsammans ger minimala fördröjningar, skapar den erfordrade effektiviteten och produktiviteten. Här är det naturligtvis viktigt att kunna etablera och erbjuda teknisk såväl som branschspecifik kunskap, lokalt i teamen.

Transparens

Den sista men inte minst viktiga faktorn för framgång är tillgången på information. Det är vikigt att initiera nödvändiga strukturer så tidigt som möjligt i projektet. Exempelvis VPN-kommunikation för effektiv access till källkod, projektuppföljning och verktyg för teamet. Bristen på personlig kommunikation i ett distribuerat team måste kompenseras av ökad dokumentation och informationstillgång, även i ett icke-komplext Agilt projekt, med fokus på lättillgängliga och lätthanterade verktyg, till exempel wiki, så att alla har tillgång till översikt, hinder och framgång i processen.