Beat Offshore September 17, 2007 01:59 over 4 years ago
Ting ændre sig hurtig indenfor systemudvikling og på mange forskellige niveauer. En af disse ideer er outsourcing eller offshore tanken som er meget oppe i tiden. En anden ting er den generelle mangle på IT arbejdskraft i Danmark. Måske hænger de i virkeligheden samme?
Da jeg startede med at bygge applikationer i konsulentbranchen var jeg altid meget konservativ i mine valg af tekniske løsninger. Grunden hertil var det faktum at der ikke var grund til andet. Den primære årsag var altid den samme og gik ud på at minimere unødig risiko. Alle var mere end villige til at undgå risiko og betale med større tidsforbrug.
Med hele tanke om outsouring og offshoring er der kun kommet et ekstra element af konkurrence ind i de valgte tekniske løsninger. Der findes folk som både kan og vil tage vores job hvis vi lader dem.
Efter min overbevisning findes der to områder hvor vi kan modvirker tendensen med offshoring.
- Ved at skabe et tæt forhold til vores kunder. Et hurtig feedback fra ide til kunden kan se resultater.
- Ved at være så produktive at det ikke er lønsomt at benytte offshore.
Den eneste måde hvorpå vi kan opnå hurtigt feedback loop med kunde er at benytte teknologi som hurtigere og mere adræt end før. Hvis forretningen var modigere og valgte teknologi udefra deres forretningsområde kunne vi nå lang mere. Ruby on Rails lader os gøre det. RoR lader os vise en demo hver uge hvor forretningen kan sikre at forståelsen er korrekt og at der sker fremgang. I Ruby on Rails kan en linje kode gøre det samme som 10 i andre mere lowlevel programmeringssprog.
Vi burde tale om forretning i stede for teknologi valg. Som regel styrer bundlinjen en del på teknologi valget. Hvis jeg siger at dette projekt kan lades sig realisere for halvdelen af prisen, eller firmaet kun behøver at ansætte halvdelen, eller projektet kan være færdige på 1/3 af tiden, vil det være gode argumenter for forretningen. Når man taler om disse ting er det en overvejelse mellem risiko og belønning.
Man må også se på risiko faktorer ved at bringe ny teknologi ind i et firma. En ting som har været overset i Java siden 2003 hvor open-source markede eksploderede. Hvis jeg kan skære halvdelen af mine udgifter væk, hvor meget risiko vil jeg så tage?
En ting som ofte bliver overses er teamdynamikken. Når man bygger mindre teams får man mere effektive teams. Hver gang man tilføre en person til et team tilføres kommunikation, interface grænser ganget med risiko for fejl. Software bygges bedst med små teams. Det er ingen hemmelighed.
Ved outsouring og offshoing er det naturligt med en kravspecifikation inden uddelegeringen af opgaven og solide accepttest og integrations test ved aflevering af implementationen. Et offshoing projekt fordre derfor naturligt en vandfaldsmodel fremfor en iterativ model. Den modsatte situation med tæt kundekontakt og adræt eller iterativ udvikling gennem hele udviklingsprocessen kræver lette værktøjer og stor fleksibilitet. Ting som ikke lader sig gøre ved offshore.
Distribueret teams. Mange projekter har haft held med at arbejde fra forskellige verdensdele i små teams med adrætte teknologier ved hjælp af dagligdags værktøjer som massager, skype og andet. Jeg tror mere på denne form for samspil end på offshore.
SpringFramework VS RubyonRails
By Frank Vilhelmsen - 1 tag: productivity - Add comment