Verslag online seminarie distributed development

advertisement
Niels Lion
Verslag online seminarie distributed development
Inhoud:
Op 8 Mei kregen we de kans om een online seminarie over distributed
development bij te wonen. Deze semenarie focuste zich op het gebruik van
distributed development voor gameontwikkeling. De format van het seminarie
was simpel, doch zeer interessant: een aantal mensen die actief zijn in game
development en gebruik maakten van distributed development kwamen om de
beurt spreken over hoe ze hier mee omgingen.
Eerst misschien eventjes uitleggen wat distributed development nu eigenlijk is;
distributed development is simpelweg een stuk software ontwikkelen terwijl de
verschillende ontwikkelaars niet fysiek bij elkaar zitten. Neem bijvoorbeeld een
spelletje dat ontwikkelt word door een Amerikaan en een Belg. Gezien de afstand
tussen deze twee landen te groot is om elke dag te overbruggen hebben deze
ontwikkelaars twee opties: ofwel verhuist een van hen, ofwel doen ze aan
distributed development (DD). Gezien deze webinar dan ook over het tweede
ging en niet over hoe gemakkelijk naar een ander continent te verhuizen zal ik
het dan ook maar over DD hebben.
De mensen die hun ervaringen met DD kwamen delen hadden diverse
achtergronden, ook al werkten ze allemaal binnen de games industrie. Zo was
een van de panelists een manager van Ubisoft, een van de grootste game
developers en publishers ter wereld met grote teams verspreid over de hele
wereld. Aan het andere einde van de schaal was er ook een indie developer
aanwezig die met een team kleiner dan tien man werkte. Ergens tussen de twee
in zat virtuos, een bedrijf van Franse origine maar met een HQ in Shangai dat
specialiseerd in art en animation voor games. Het spreekt voor zichzelf dat een
enorm bedrijf als Ubisoft met teams die honderden leden kunnen tellen op een
heel andere manier aan DD doet dan een klein indie team.
Multi-site collaboration
De manier waarop Ubisoft en Virtuos aan DD doet heet multi-site collaboration.
Wat dit betekent is dat bij ubisoft je wel nog teams hebt die fysiek naast elkaar
zitten, maar ze hebben diverse teams verspreid over de wereld. Dit brengt een
aantal voordelen met zich mee, zo behoud je bijvoorbeeld enkele van de troeven
van klassiek development: het feit dat je toch nog fysiek omringt bent door
collega’s terwijl je werkt betekent dat het gemakkelijk is om gewoon eventjes je
stoel te draaien en over bijvoorbeeld een stuk code waar je mee vast zit te
beginnen praten. Nog een voordeel is dat elke site zijn eigen groepsidentiteit kan
behouden. Aan de andere kant brengt dit ook een aantal nadelen en risico’s met
zich mee. Ten eerste is dit zeer duur, want je moet meerdere gebouwen elk met
hun eigen hardware en software-licenties kopen of huren, dit betekent dat enkel
grotere bedrijven multi-site development kunnen bekostigen. Verder loop je ook
het risico dat de verschillende teams op zichzelf teruggeplooid raken, het is
Niels Lion
immers van nature makkelijker om te communiceren met iemand die bij wijze
van spreken naast je zit dan iemand die vijf tijdzones van je af zit. Zoiets kan
zeer duur uitvallen voor een project, want uiteindelijk moet de code die elk team
schrijft perfect samen passen en een cohees product vormen, als dit niet het
geval is en er tijd gespendeerd moet worden om dit te fixen zullen er
gegarandeerd deadlines overschreden worden. Nog een gevaar is dat een team
onrealistische verwachtingen van andere teams kan hebben. Verder komt het
vaak voor dat de verschillende teams in verschillende tijdzones zitten, wat
betekent dat directe communicatie tussen twee teams nog moeilijker word.
Virtuos echter ziet deze verschillende tijdzones als een pluspunt. Als de teams
immers geografisch genoeg verspreid zijn betekent dit dat ze op een 24-uur
cyclus kunnen werken: Als een team stopt met werken begint een ander, zo is er
altijd iemand bezig met te werken en kan er altijd op feedback of vragen van de
klant gereageerd worden.
Ubisoft gebruikt een paar technieken om alles in goede baan te trachten doen
lopen. Ten eerste duiden ze een site aan als lead site. Deze site draagt dan de
ultime verantwoordelijkheid voor het project, en de andere sites fungeren dan
een beetje alsof de lead site hun cliënt is waar ze voor werken. Ten tweede
hebben ze regels voor de communicatie tussen de verschillende sites. Over
technische onderwerpen mag iedereen met iedereen praten, maar als het over
belangrijkere beslissingen en planning gaat mogen enkel de verantwoordelijk
managers met elkaar praten, waarvan er een per site zijn. Ze hebben ook een
Collaboration Producer in dienst wiens taak eruit bestaat ervoor te zorgen dat de
samenwerking tussen de verschillende sites vlot verloopt.
Tools
Om dit hele DD verhaal tot een goed einde te brengen bestaan er natuurlijk een
hele resem tools. Natuurlijk worden de klassiekers als github en team foundation
server ook binnen DD gebruikt, maar vooral Virtuos sprak over enkele tools waar
ik hiervoor nog niet gehoord had, met name Hansoft en Shotgun. Hansoft is een
Zweedse tool voor team collaboration en management in agile software
development. Shotgun is alsook een project management tool, maar dan
gespecialiseerd in art, met een uitgebreidere UI om bijvoorbeeld simpel feedback
te krijgen of te vragen op een 3D-model of op een texture, etc…
Indies
De laatste panelist was de leider van een klein indie team: het team telde slechts
vier vaste leden. Deze vier leden wonen elk in een ander land, dus doen ze ook
aan DD. Hun werkplaatsen waren een kamer in hun huis met een desktop PC.
Met zo een klein team spreekt het vanzelf dat het er wat minder professioneel
aan toe gaat: ze houden er geen managers op na, geen vaste werkuren noch
timetables. Een laxe houding betekende echter de dood van hun eerste project:
ze hadden besloten agile met sprints te werken, maar uiteindelijk hielden ze
nooit scrum-meetings en ze bleven maar features bijplannen terwijl hen huidige
features nog niet deftig geimplementeerd waren. Deadline na deadline werd
overschreden en hun budget raakte op. Echter besloten ze opnieuw te beginnen
Niels Lion
met een kleiner project. Dit keer ging het wel goed: ze hielden dagelijkse scrum
meetings en hielden zich aan de features waar ze van het begin voor gingen. Zo
slaagden ze er in binnen hun budget te blijven en een compleet spel af te
leveren. Ze gingen wel een maand over de oorspronkelijke deadline, het is en
blijft een IT-project natuurlijk.
Analyse competentieprofiel TI:
De meest relevante competenties zien volgens mij de volgende:
Competentie 2: Vlot functioneren in een internationale omgeving en de interne
en externe communicatie rond IT-projecten, dienstverlening en investeringen
voeren in drie talen en dit zowel mondeling als schriftelijk.
Het drie talen gedeelte is misschien wat minder belangrijk, ik geloof dat vooral
Engels essentieel zal zijn als je echt met vele nationaliteiten samenwerkt. Maar
vlot kunnen functioneren in een internationale omgeving is ongetwijfeld
essentieel bij DD.
Competentie 5
Gegevens verzamelen, opslaan en ter beschikking stellen zodat deze op een
correcte en gebruiksvriendelijke manier kunnen worden opgevraagd.
Bij DD is het van levensbelang voor het project dat al je medewerkers
gemakkelijk aan het werk dat je gedaan hebt kunnen en gemakkelijk feedback
kunnen geven en vragen.
Competentie 8
Een IT-opdracht projectmatig en teamgericht aanpakken met respect voor de
planning.
Zoals uit de presentatie van de indie-developer blijkt is het bij DD een noodzaak
dat je de discipline kan opbrengen om je consequent aan de planning en gekozen
werkwijze te houden.
Persoonlijke reflectie:
Ik kan zonder twijfel zeggen dat ik dit een van de sterkste seminaries vond die ik
tot nu toe heb meegemaakt, ik ben dan ook zeer blij dat we de kans kregen om
deze te bekijken ondanks het feit dat ze samen viel met een paar lessen. Ik
geloof dat ik veel bijgeleerd heb dankzij dit seminarie. DD is iets waar ik hiervoor
eigenlijk nog niets over wist. Nu ik er echter over na denk heb ik er eigenlijk wel
al een klein beetje ervaring mee: voor enkele vakken waar er groepswerken voor
zijn heb ik het de facto al op kleine schaal gebruikt om met bepaalde teamleden
samen te werken. Dit is natuurlijk heel wat anders dan echt DD te gaan
gebruiken in een bedrijf, maar toch. Het was dus ook een privilege om te mogen
horen hoe zulke diverse bedrijven er elk mee werken.
Het eerste dat me opviel tijdens het seminarie is dat terwijl het zich
concentreerde op game development bijna alles dat gezegd over DD kan
toegepast worden op allerhande software projecten, niet enkel games.
Niels Lion
Een tweede ding dat me opviel is dat iedere spreker zei dat er in hun bedrijf agile
word gewerkt. Het was leuk om te zien dat deze methode van werken die ook
binnen de HUB onderwezen word binnen zo veel internationale bedrijven
aanwezig was.
Na dit seminarie ben ik echt overtuigd van de krachten van DD, ik vind het
gewoon prachtig dat een groep mensen vanuit diverse landen vlot kan
samenwerken zonder te hoeven verhuizen. Ik vind het idee dat ik later potentieel
met iemand uit pakweg Shangai aan een project zou kunnen werken zonder naar
China te moeten gaan zeer spannend, en ik ben blij dat ik IT studeer.
Download