Dette indlæg er alene udtryk for skribentens egen holdning.

Offshore teamet kan være et effektivt våben i kamp mod technical debt

21. august 2012 kl. 09:20
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Udviklere er mennesker og mennesker er forskellige. Der findes selvfølgeligt dygtige udviklere, som altid er grundige og disciplinerede, og som næsten altid træffer de rigtige beslutninger første gang. Og så findes der andre udviklere som ikke altid er det. Så, i den praktiske virkelighed, hvor der både arbejdes under tidspres og med en stram projektøkonomi, lever vi hele tiden med den risiko, at nogen vil forsøge at lave shortcuts, cut og paste programmering, og at kode løs med en halv forståelse af opgave osv. osv.

Disse shortcuts skaber måske en tilsyneladende fremdrift her og nu, men de rammer os bare i nakken senere. Altså alle de ting der også kaldes ”technical debt”.

Ved at arbejde disciplineret kan man sagtens holde technical debt i ave, men problemet er ofte, at tiden til at gøre dette skal investeres på forhånd. Interessenter, der står uden for projektet, kan ikke se at det skaber fremdrift at bekæmpe technical debt, så teamet og projektlederen kan nemt komme under pres udefra for bare at komme ud over stepperne.

I projekter hvor der arbejdes distribueret, dvs. med et kombineret onshore og offshore team, har man muligheden for at udføre mange af disse kvalitetssikringsaktiviteter på offshore delen af teamet, hvor timeprisen for en udviklingstime er lavere.

Artiklen fortsætter efter annoncen

Dette har flere fordele:

  • Det er politisk lettere for projektlederen, at insistere på at der bruges timere på dette i hvert sprint helt fra projektets begyndelse
  • Aktiviteterne er i sig selv med til at fremme vidensoverførselen mellem onshore og offshore delen af teamet
  • En solid kvalitet fra projektsstart giver et mere jævnt og kontrolleret projektforløb.

For selvom det, helt uagtet timeprisen, altid er en samlet økonomisk fordel for projektet at bekæmpe technical debt, kan det være svært for projektlederen at sørge for at denne investering fortages i tilstrækkeligt omfang.

I de fleste udviklingsprojekter kan det, for eksempel, godt betale sig at tage et ekstra kik på om unit tests kan forbedres, så de laver en realistisk demonstration af acceptkriterierne. I det hele taget er det en god investering af få bygget så meget som muligt test i de enkelte sprints, i stedet for at vente med at gøre det til release-testen.
Det kræver dog, at offshore teamet er både mentalt og teknisk modent til at udføre opgaven. Teamet skal forstå selve opgaven, og samtidigt være i stand til at kunne stille kritiske spørgsmål og komme med nye ideer til forbedringer. Man kan ikke altid forvente at dette samspil fungere fra første dag, men det kan trænes, og efterhånden kan det komme til at virke godt. Man kan f.eks. begynde med at lade offshore teamet reviewe kode, hvor man allerede har identificeret nogle problemstillinger, og så se om teamet når til de samme konklusioner.

Mine egne praktiske erfaringer med distribueret udvikling har også fået mig til at revidere min egen opfattelse. Jeg har tidligere ment at det var bedst først at udvikle moduler offshore, og så få en dansk udvikler til at reviewe og kvalitetssikre det. Men det virker faktisk meget bedre hvis man gør det helt modsat, altså lader en dansk udvikler, der sidder tæt på kunden, producere noget lynhurtigt som måske kun lige demonstrere kernen i det der skal laves. Offshore teamet kan så tage dette, pille det fra hinanden og refaktorere det, bygge unit tests, lave peer review, teste osv.

Artiklen fortsætter efter annoncen

Dette kræver selvfølgeligt at man arbejder distribueret, dvs. ikke alle udviklere på teamet må sidde offshore. Der skal være en kerne af kompetente tekniske folk i Danmark, der sidder tæt på (og gerne integreret i) kundens organisation.

Og fordi man typisk lettere adgang til at bruge flere rene offshore udviklingstimer pga. prisen, kan det udnyttes til at hæve kvaliteten i hele udviklingsprojektet, hvis man forstår at udnytte disse timer på en fornuftig måde.

Ingen kommentarer endnu.  Start debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger