Outsourcing er i dag blevet meget udbredt, og de fleste kender som andre der har prøvet det. Det skyldes at outsourcing i dag er langt mere end store udviklingshuse med tusindvis af ansatte i Indien – det findes både i stor og lille skala.

Det er f.eks. i dag helt normalt for en ung førstegangs-iværksætter at få bygget sin første prototype vha. outsourcing for meget små beløb, ligesom mange udviklingsafdelinger i dag bruger nearshoring og har kollegaer fra f.eks. Ukraine, Rumænien eller Tjekkiet.

Når jeg holder foredrag om outsourcing eller taler med virksomheder som ikke har personlig erfaring med outsourcing, er der en del skepsis. Ofte kommer der historier om at de tidligere har arbejdet sammen med en uduelig udvikler fra f.eks. Bangladesh fordi hovedkontoret tænkte det ville spare penge – også får man historien om hvordan at det i sidste ende var dyrere at bruge outsourcing.

Lad mig starte med at sige: der er mange grimme historier om outsourcing.

Og der er mange historier som ender med at et projekt både blev dyrere og dårligere med outsourcing.

Men det er ekstremt ærgerligt at disse historier ofte dominerer snakken om outsourcing. Outsourcing er langt mere end store udviklingshuse i Indien, og jeg tror på at alle virksomheder – store som små – ville kunne få mere value for money ved at bruge outsourcing hvor det giver mening for dem.

I denne e-bog vil jeg gennemgå outsourcing fra A-Z. Alt fra hvilke regioner og lande, fra store udviklingshold til langt mindre commitments samt hvordan man kommer i gang. Jeg har samtidig dedikeret et helt afsnit til hvordan man beskriver opgaver, simpelthen fordi det er så vigtig en ting.

Mit håb er at det kan inspirere en lang række virksomheder til at prøve mere outsourcing, uden at de ender med en dårlig erfaring der både bliver dyrere og dårligere.

Med de ord, lad os komme i gang.

Nogle få ord om forfatteren

Mit navn er Lars Holdgaard. Jeg er uddannet på Danmarks Tekniske Universitet og IT Universitet (Ms.c. i e-business og Bachelor i softwareteknologi), og har i de sidste 9 år arbejdet med outsourcing.

Mit første outsourcing eventyr startede i 2008 med at få udviklet en iPhone app gennem en gut jeg fandt fra Indien. Resultatet var… Spændende. Det kostede 1.300kr. også havde jeg en app i App Store.

Jeg er i dag ekstremt glad for den ikke kan findes i app’en – den var ikke køn – men den introducerede mig til outsourcing.

Siden da har jeg ledt teams, haft min egen udviklings med over tyve tilknyttede freelancere, arbejdet på teams der benyttede outsourcing og holdt foredrag om outsourcing.

Jeg har været co-founder i et startup der fik over 10 millioner kr. i funding, hvor vi benyttede outsourcing i stor stil. Det startup gik galt. Men noget af det der gik allerbedst i den forretning var vores udviklingsafdeling som var 100% remote.

Jeg er selvfølgelig derfor meget biased når jeg mener og siger outsourcing er godt. Men samtidig vil også påpege at jeg igen og igen har set hvor stor en fordel det kan give at bruge outsourcing.

Jeg har aldrig arbejdet med outsourcing for en C20 virksomhed, men jeg har mødt mange udviklere der har været på udviklingssiden. Jeg har også venner og bekendte som har specificeret opgaver til disse udviklere.

Med denne baggrund ser jeg mig som værende ekspert indenfor outsourcing og mener jeg har masse konkret viden at byde på.

Lad os dykke ned i den store verden indenfor outsourcing, for at sikre os det også lykkes for dig og din virksomhed!

Outsourcing – handler det kun om pris?

Når man nævner outsourcing er der mange forskellige tolkninger af det.

For at starte fra scratch: outsourcing er bare det at flytte en opgave ud af ens virksomhed. Outsourcing behøves ikke være til den anden side af jordkloden – at flytte en opgave fra København til en virksomhed i Midtjylland – det er også outsourcing.

I dette indlæg kigger vi dog kun på outsourcing udenfor landets grænser. Det er altid en mulighed at få hjælp fra et lokalt bureau eller en rekrutteringsvirksomhed – men du kender selv priserne. Det er en super løsning i nogle situationer, men med outsourcing udenfor landets grænser forsøger du at løse en anden udfordring.

Samtidig kigger vi kun på outsourcing indenfor udvikling. Det er også spændende at tale om brug af virtuelle assistenter og andre typer af outsourcing udenfor IT – men det er et andet emne.

OUTSOURCING AF UDVIKLING:

Hovedårsagen for at mange taler om outsourcing er klar. PRIS. De vil spare penge.

Her mener jeg den første store fejl opstår. Outsourcing handler ikke kun om pris. Jeg vil argumentere at selvom en ressource kostede det samme i f.eks. Ukraine som i Danmark – så er der rigeligt argumenter for stadigvæk at bruge den ressource.

Det er selvfølgelig et meget hyppigt resultat af outsourcing, at man sparer penge. Hvis en ansat koster det halve eller en tiendedel og de leverer samme produktivitet, så er der selvfølgelig en økonomisk besparelse. Men det argument bør ikke stå alene.

En anden meget stor årsag til outsourcing, er simpelthen fordi det er ekstremt svært at finde udviklere.

Kigger vi på nogle af de mest oplagte fordele, så vurderer vi følgende er nogle af de vigtigste:

Økonomi & Pris Det er klart – kan man betale en medarbejder alt fra halvdelen helt ned til en tiendedel – så er det en fordel for en virksomhed. Det kan blive langt billigere at lave projekter med outsourcing hvis det gøres vigtigt.
Antallet af kandidater Hvis man som virksomhed i dag laver et jobopslag efter udviklere, og ikke har opbygget et stært employer-brand, så får man ikke mange ansøgere.

Mange virksomheder har helt opgivet at lave jobopslag for at finde udviklere.

Danske udviklere får hver uge beskeder fra sultne headhuntere der vil tilbyde dem nye jobs.

Konkurrencen for de bedste udviklere udenfor landets grænser er selvfølgelig også hård. En dygtig udvikler vil altid være eftertragtet – men hvor et løntilbud på 30.000 kr. næppe får en dansk erfaren senior udvikler til at blive spændt – så er det stadigvæk noget der giver hundredevis af ansøgere i hele Østeuropa. Det samme gør sig gældende i hele Asien, hvor lønninger helt ned til 10-15.000kr gør du kan få hundredevis af erfarne senior-udviklere til at ansøge

Tid fra behov til ansat Fra jobopslag til ansættelse, går der i Danmark langt tid. Selve interview processen tager minimum 2 måneder fra første opslag, og hertil kommer at en udvikler har løbende måned + 30 dage i opsigelse. Der kan nemt gå 4-6 mdr før du har din ansatte på kontoret. 4-6 Måneder fra man opdager sit behov til at man har en mand på kontoret – det er så lang tid at man har en meget stor opportunity cost.

Samme proces er anderledes ved outsourcing. Ofte har udvikleren 14 dages opsigelse (hvilket så desværre bliver din ulempe når du først har den dygtige medarbejder), samt man kan have interviews indenfor 1-2 uger efter man har lavet et jobopslag. Jeg har flere gange haft min mand ansat indenfor 1 måneder efter jeg skulle bruge manden.

Risikovillighed Når man gerne vil lave et forsøg med et nyt produkt, så er det en stor investering at hyre ansatte til ens kontor. Udover den økonomiske udgift, så er der også ansatte der bliver en del af ens kultur.

Hvis ens nye projekt så fejler, og man skal stoppe projektet og medarbejderne.. Så er det svært. Det kan hurtigt give meget dårlig stemning på kontoret hvis man stopper en afdeling.

Det er selvfølgelig ikke sjovt at stoppe et projekt bare fordi det ikke er på ens kontor. Det er mennesker man ofte har mødt og ser som tætte kollegaer – men det er nemmere at glemme noget man ikke møder hver dag. Det er derfor super fint at bruge outsourcing til risikovillige projekter, som man ikke er sikker på bliver en del af ens kerne.

Tilgængelighed En af de største udfordringer med outsourcing, er tidsforskel. Dette er en af grundende til at nearshoring til f.eks. Ukraine, Rumænien og Serbien er blevet så populært, da der er under et par timers tidsforskel.

Tidsforskellen kan samtidig benyttes til din fordel. Jeg har flere gange arbejdet hos teams der havde et 24-7 team, hvor det Europæiske overtog efter det Asiatiske team, og det Sydamerikanske team overtog fra det Europæiske.

Dette er oplagt stærkt ved vedligehold og drift, hvor man har en driftsforpligtelse overfor en global organisation.

Typer af outsourcing

Da jeg gik på universitet talte en af vores professorer om at outsourcing primært var for meget store virksomheder. Det at starte en afdeling var en stor beslutning, og blev set ligesom at starte et nyt kontor.

Heldigvis er outsourcing LANGT tilgængeligt i dag. Har man i dag ”CTO”, ”IT Direktør” eller ”Direktør” i sin titel på LinkedIn, og er ansat i en virksomhed af en hvis størrelse, så får man hver uge alverdens tilbud fra mere eller mindre troværdige ”key accounts” fra softwarehuse østfra. Samtidig får man uopfordrede e-mails fra danske nearshoring selskaber, som tilbyder at fortælle om outsourcing.

Outsourcing findes som sagt i stor og lille skala. Jeg vil liste de mest populære typer af outsourcing, startende fra helt så setups op til (meget) store setups forneden. Der findes selvfølgelig hybrider, andre udgaver med andre detaljer osv – men formålet er at fortælle alle findes:

Fastpris projekter med freelancer(e):

Man kan i dag gå ind på et website som f.eks. Upwork.com eller Freelancer.com og uploade et projekt. Her kan man beskrive hvad man gerne vil have lavet, og skrive du kun ønsker fastpris. Her vil der ofte kommer +50 der byder ind som gerne vil løse din opgave. Du kan lægge en opgave op i dag, og have en person der starter i morgen. Det er nemt og meget, meget uforpligtende. Der er intet der forhindrer dig i at gøre det også er man i gang. De mindste softwareprojekter jeg har fået lavet på denne måde er helt ned til 30 dollars.

Udfordringen med denne type af freelancing, er selvfølgelig at de udviklere der har lyst til at byde fastpris på tilfældige projekter online, hvor de absolut ikke bruger nok tid på at lave et estimat, er af meget lav kvalitet. Her finder du ofte de værste myter om outsourcing med dårlig kode, dårlig kommunikation og uoverensstemmelser – men har du tid til at være meget specific, kan det sagtens blive en success.

Løbende timepris kontrakter med freelancer(e):

Det næste mere naturlige skridt end fastpris projekter, er at bruge selvsamme websites (jeg anbefaler Upwork.com og Freelancer.com), men at vælge faste timeaftaler. Her kan du indenfor 24 timer have +50 ansøgninger om at blive din næste .NET, Android eller JavaScript udvikler (du kan finde alle typer af udviklere). Her kan du teste en eller flere udviklere af på mindre projekter, og når du finder en du kan lide at arbejde sammen med, så har man typisk en ”åben kontrakt” hvor udvikleren registrerer timer efter forbrug.

Udfordringen her er ofte det er svært at finde den rigtige udvikler. I Jarboo supplerer vi vores freelance-netværk med de bedste ansøgere fra f.eks.Upwork. Vi frasorterer hundredevis af ansøgere før vi overhoved tester en udvikler. Hertil skal du være i stand til at lede en udvikler der ikke er på dit kontor, før det bliver en success.

Endnu en fordel ved denne typer af kontrakter er at man ikke har bundet til et bestemt antal timer pr uge eller måned. Det gør at man kan uge for uge kan skalere hvor mange timer man ønsker at bruge – alt efter behov og økonomi.

Løbende timepris med managed outsourcing:

Managed outsourcing er hvor man forsøger at mikse det bedste fra begge verdener: fordelene ved outsourcing, kombineret med lokalt-talende projektledere og arkitekter.

Som vi kommer ind på i senere afsnit, så går outsourcing ofte galt når man lægger for meget ansat væk fra folk der har forretningsforståelse.   Ved managed outsourcing så er der typisk en softwarearkitekt og projektleder som overvåger at det der laves, bliver lavet korrekt. Fordelen er her at 80-90% af arbejdet udføres i lande med væsentligt lavere udgifter, hvilket gør det er meget økonomisk at benytte sig af managed outsourcing.

Jeg tror på at det er et rigtig godt miks for rigtig mange virksomheder, fordi man får samme kvalitet du får fra danske konsulenthuse, kombineret med det er væsentligt billigere.

Udfordringen ved managed outsourcing er at det er dårligt til meget specifikke niche-teknologier med lavt udbud samt meget store enterprise projekter.

Timepris (med minimumforbrug) eller projekter med managed outsourcing:

Dette er den typiske model som man møder når man bliver kontaktet på LinkedIn, uopfordret på e-mail osv. Det er den model f.eks. Ciklum kører (kendt outsourcing firma). Her betaler du en fair timepris (mix mellem freelancer og lokalt bureau), kombineret med man ofte binder sig til enten et projekt eller en form for klippekort med antal timer.

Fast ansat (managed eller ej):

Det næste skridt er at fastansætte en mand. Her får man en ansat som der skal have løn, kontor og frokostordning. Her er der typisk 2 fremgangsmåder:

  1. Man sørger selv for ansættelse og det praktiske
  2. Managed ansat. Her er der (mange) virksomheder hvor man køber en fast mand, men hvor virksomheden lokalt sørger for rekruttering, kontor, kollegaer, frokost og alt det øvrige praktiske. Denne service koster typisk 1.100-1.500 USD pr. hoved i Østeuropa og ned til halvdelen i Asien (alt efter hvilket land selvfølgelig).

Fast managed team:

Ligesom man kan have en ansat (managed eller ej), så kan man selvfølgelig ansatte flere. Her kan man enten vælge at lokere dem samme sted, hvilket selvfølgelig betyder en del ift. det sociale. Det er især de lokale virksomheder er gode, fordi de har et setup der skalerer mens man vokser. Desværre skalerer udgiften også – betaler man 1.200 USD pr hoved bliver deres service fee hurttigt rigtigt dyrt.

Egen kontor med team

Har man pludselig et stort team, om det så er 10 eller 50 mand, så er der et tidspunkt hvor man måske vil starte sit eget kontor. Hertil kommer der selvfølgelig en stor mængde logistiske problemer, men på et tidspunkt kan det selvfølgelig godt svare sig.

Hvilken type af outsourcing er den rigtige for dig?

Det kommer HELT an på din opgave og formål. Jeg vil altid anbefale at prøve det i mindre skala, inden man starter ud med en fast mand eller team. Jeg plejer at beskrive det således til virksomheder der gerne vil i gang:

Har du både tid, de tekniske kompetencer og et presset budget, så skal du gå efter at forsøge selv.

Har du travlt, så er løsningen IKKE at lære at outsource. Forstår du ikke kode, kan du ikke vurdere om kvaliteten er god – og dermed ved du ikke om det du får er godt. Dvs. i hovedparten af tilfældende vil jeg anbefale man starter med managed outsourcing.

Tager du en virksomhed som vores er der intet minimumsbudget. Det er der mange som godt kan lide fordi man får kvaliteten man er vant til fra lokale programmører, kombineret med en pris der er 40-60% billigere kombineret med de øvrige fordele ved outsourcing.

Hvor outsourcer man til?

Indtil videre har jeg nævnt en del lokationer, uden at komme ind på hvor man bør outsource til. Sandheden er at der er en række parametre hvorpå landende (og regionerne) er meget forskellige, men hertil kommer personlig præferance.

For at give et simpelt overblik, kommer jeg til at sætte en række lande og regioner i bås. Det er på ingen måde fair – og der er tusindvis af undtagelser. Du kan sagtens finde en virkelig skarp person fra Indien som både udfordrer dig og laver god kode, men det er bare mindre normalt end f.eks. fra Serbien.

Meget forsimplet sagt, så kan vi dele verden ind i en række regioner hvor vi generaliserer:

  • Nord/Vesteuropa & USA og herunder Danmark. Dygtige udviklere, som har forretningsforståelse og er nemme at kommunikere med.  Det er både dyrt og svært at finde gode folk der har tid. Månedsløn for en dygtig medarbejder: 35.000-60.000 DKK
  • Østeuropa: Rigtig dygtige udviklere og især kendt for deres backend udvikling (hyppigt i .NET). Der er en kultur vi har forholdsvis let ved at forstå, og der er 1-2 timers tidsforskel alt efter hvor man har sit team. Månedsløn for en dygtig medarbejder: 15.000-30.000 DKK
  • Asien: Længere mellem de gode udviklere, stor kulturforskel og stor tidsforskel. Stor loyalitet hvis folk føler sig godt behandlet. Månedsløn for en dygtig medarbejder: 7.000-15.000 DKK

Hvor der er forskel på landende i  Østeuropa, er der især kæmpe forskel på landende i Asien. Ligesom at vi i Danmark ikke mener vi er ligesom Franskmænd, er en gennemsnitlig person fra Indien meget forskellig fra en fra Vietnam.

Der er selvfølgelig også både Afrika og Sydamerika, som jeg ikke har taget med. Det skyldes at de lige nu ikke er store outsourcing regioner for danske virksomheder. Sydamerika og Mellemamerika er populært i USA, og f.eks. bruges Mexico ofte som ”nearshoring land” for amerikanere hvor vi f.eks. har Ukraine i Danmark. Forskellen her skyldes både tidsforskellen, samt de fleste danskere har svært ved det spansktalende sprog fra denne region.

Personligt har jeg arbejdet med en del fra Sydamerika, og har haft gode oplevelser. De har en rigtig fin blanding af den ”vestlige mentalitet” og kreativitet, kombineret med et fint skolesystem der giver en god grundforståelse. Min holdning er dog priserne umiddelbart virker høje ift. deres output, men det er begrænset til min egen erfaring.

Jeg har mødt meget få virksomheder som bruger Afrika, og kun fra Kenya. Jeg har derfor ingen reelle erfaringer, andet end jeg var positivt overrasket.

Ift. de mest populære lande, så har jeg forsøgt at smide dem ind i en tabel, hvor jeg har skrevet fordele og ulemper:

Land Kendetegn Grove priser

(senior med +3 års erfaring)

Ukraine

(Østeuropa, 1t tidsforskel)

– Stærke fagligt og især på backend udvikling

– OK engelsk

– Sjældent man oplever kulturproblemer

– Udfordrer gerne din tekniske beslutninger, men har meget lidt holdning om din forretning

Ved ansættelse: 2.000-4.000 USD / mdr
Rumænien Minder meget om Ukraine – både fagligt, kulturelt og i fordele/ulemper.

Rumænien er en snært mere vestligt end Ukraine, men koster også 15-25% mere.

Ved ansættelse:

2.500-5.000 USD / mdr

Serbien Har mange af samme træk som Ukraine/Rumænien, men er mere kreative anlagt, med et stort start-up community.

Godt til full stack developere.

Ved ansættelse:

2.500-5.000 USD / mdr

Rusland – Det er stor forskel mellem gode og dårligere udviklere. De dårlige er rigtig dårlige, og de gode kan være ekstremt gode

– Deres engelske er dårligere end de øvrige østueropæiske lande

– Elsker vodka jokes

Langt hen af vejen ligesom Ukraine – godt til eksisterende teams der ønsker en backender. Rusland er et kæmpe land, og du finder større diversitet. Forskellen er at i Rusland kan du finde udviklere som på ingen måde kan tænke selv som er ekstremt dårlige, og er på et niveau du slet ikke finder i Ukraine/Rumænien, men du kan også finde meget dygtige folk. De dygtige folk er ofte meget vestlige i deres adfærd og personlighed, og minder til forvekslning om de andre lande i denne region

Ved ansættelse:

1.000-4.500 USD / mdr

(Men hold dig væk fra de billige – selvom de er senior folk med erfaring kan de billige ikke godt nok engelsk)

Indien – Meget stor kulturforskel

– Stor sprogbarriere

– Lider under ”yes” til alt udfordringen, hvor de ikke siger nej.

– Generelt set tænkes der sjældent meget langsigtet, og kodekvaliteten ud af Indien er ofte problematisk

Indien er desværre der hvor mange har startet med outsourcing, på trods af Indien nok er et af de absolut sværeste steder at mestre. Der er kæmpe kulturforskel, og man kæmper konstant med kode-kvalitet. Dette løses nogenlunde når man kommunikerer med store konsulenthuse fra Indien som støvsuger de gode udviklere – men det kan være svært at skelne godt fra dårligt.

400 – 1.500 USD / mdr

(Mange lokkes af man kan have en mand til så små beløb – men man skal huske at det er et internationalt marked – markedsværdien ER bare ikke højere. Kvaliteten er generelt tvivlsom)

Filippinerne På Filippinerne tales der generelt rigtig godt engelsk, og de har overtaget mange af de outsourcing opgaver der tidligere røg til Indien, da der er langt større kulturelt og sprogligt match mellem vestlige virksomheder og Filippinere.

– Kulturelt er der selvfølgelig forskel fra vesten, men langt mindre end nabolandene

– Taler godt engelsk

Filippinerne har den udfordring at der er rigtig mange som er ”IT uddannet”, som der slet ikke kan programmere. Det gør at man enten kommunikerer med en person som er ubrugelig til udviklingsopgaver men med den rigtige titel, eller med en person som faktisk er dygtig men som kan flydende engelsk der tænker internationalt. Derfor er de gode Filippinere også ret dyre.

500-2.000 USD / mdr

(Igen, stor forskel på god og dårlig – vælg ikke dem i den lave ende)

Vietnam I Vietnam er der mange gode udviklere, og det tekniske niveau er højt. De er generelt skarpe, koder effektivt og behagelige at arbejde sammen med. Der er dog to store udfordring ved outsourcing til Vietnam:

– Der er en stor sprogbarriere, og selv dygtige udviklere taler dårligt engelsk.

– Der er en kultur for at lave ting hurtigt, fremfor langtidsholdbart.

Der er dog mange dygtige udviklere fra Vietnam hvor disse udfordringer ikke er så store.

800-2.000 USD / mdr

Øvrige steder der er populære at outsource til er bl.a.:

  • Litauen/Letland/Estland som er kendt for at være dygtige og vestlige i deres adfærd, men er forholdsvis dyre. Jeg har begrænset personligt erfaring hertil, men har primært hørt godt om regionen.
  • Polen som er meget vestlige, med gode evner og minder kulturelt meget om os. Prisen er ca. 20-40% billigere end Danmark.
  • Kina er kendt for at have meget store både kulturelle og sproglige barrierer. Samtidig er prislejet sammenligenligt med Indien, men der er endnu større især sprogforskellige. Ligesom ved Indien er landet dog også så stort, at der er meget stor forskel på god og dårlig
  • Pakistan minder langt hen af vejen af Indien
  • Bangladesh er ligesom Indien, men endnu billigere – hvilket ikke er en god ting

Hvor starter man?

Jeg vil altid anbefale at man starter i Østeuropa. At starte med en udvikler bosiddende i Ukraine, Rumænien eller Serbien er et meget sikkert bud, fordi det generelle niveau er højt, der er et fint kulturelt match, ingen tidszone problemer og udvikleren taler ofte godt engelsk.

Det kommer samtidig an på hvilke evner man leder efter. Er ens teknologi baseret på Microsofts .NET teknologi stack, så er især Ukraine og Rumænien fantastisk fordi det her er ekstremt udbredt.

Til sidst er det værd at nævne, at jo mere niche en teknologi bliver, og jo mere senior en stilling man har brug for, jo mindre betyder lokation. Skal du bruge en person der er ekstremt skarp til en nyere teknologi – så konkurrerer kandidaterne internationalt. Det betyder at selvom man generelt kan opleve udfordringer med sprog og kultur i f.eks. Indien, så vil en sådan profil med denne baggrund ofte virke væsentlig mere vestlig. Så ved niche og stillinger der har en høj grad af senioritet, så falder forskellene landene imellem – både prismæssigt, sprogmæssigt og kulturelt.

Outsourcing tips: hvad kan man outsource, og hvad kan man ikke outsource?

Når jeg ser outsourcing projekter, så er der et mønster i at dem der går galt.

Helt overordnet set så er vi i Danmark meget stolte af vores kreativitet, kritiske tilgang og evne til at give modspil. Selvom det lyder som en cliche, så er det absolut en evne man ikke skal undervurdere.

Men samtidig er det ikke ensbetydende med at alle danske udviklere har denne evne. Man møder i større grad udviklere der ikke stiller kritiske spørgsmål og forstår ens forretning når man bruger outsourcing, end når man bruger lokale udviklere – men mange sammenligner det at arbejde sammen med deres danske senior arkitekt som deltager i interne workshops med resten af forretning, med at outsource det hele til udlandet. Det er ikke en fair sammenligning, og det er her meget går galt.

Hvad kan man outsource

Når man outsourcer en opgave: hvad sker der så i den anden ende?

Ved alle andre former for outsourcer end managed outsourcing, så har du en udvikler i den anden ende. Smider man et projekt herned, så er der denne persons rolle at løse opgaven.

Denne person der modtager opgaven, forstår sjældent konteksten, hvorfor man laver projektet og hvad planen er med projektet på lang sigt. Personen forstår sjældent hvem der skal bruge programmet, og hvad det skal bruges til. Det gør at niveauet af feedback personen kan give er begrænset.

Giver man samme opgave til en dygtig dansk udvikler – og jeg vil meget gerne sætte pres på ordet DYGTIG – så er personen i stand til at vurdere projektet: Giver det mening? Er det forklaret godt nok? Passer projektets beskrivelse med det direktøren sagde var virksomhedens vision for et halvt år siden?

Der er selvfølgelig en høj grad af kultur der gør at den danske udvikler er i stand til at vurdere projektet bedre, og der er en kultur for at man godt må give modspil. Men i mindst lige så høj grad, så har den danske udvikler en KÆMPE fordel i at spise frokost sammen med de andre teams, være til firma arrangementer, være på det danske kontor hvor man taler om fremtiden og forstår sammenhængene.

Dette niveau af viden har den person man outsourcer til ikke, og der er derfor slet ikke samme niveau af information til faktisk at komme med et modspil.

Det er en myte man ikke får modspil når man outsourcer

Jeg har aldrig oplevet en udvikler, som ikke gerne vil give modspil. Selv når jeg har endt med at outsource opgaver til en tvivlsom og ung udvikler fra lande der ellers er svære at outsource til – så er der et modspil.

Men dette modspil kommer selvfølgelig kun indenfor det område personen KAN give modspil på. De kan give feedback på selve den tekniske implementation, men forstår formegentlig ikke alt det omkring det der skal laves.

Hertil kommer udfordringen:

Skal man så forklare denne udvikler fra f.eks. Bangladesh ind i det hele? Skal man bruge et par dage på at sætte personen ind i hele ens virksomhed og situation?

Det er her jeg tror mange problemer med outsourcing opstår. Udfordringen er, for at forstå alt det ”bløde” omkring din virksomhed – så har du et meget stort niveau af basisviden du skal forstå. Det er basisviden som blandt andet er kultur, vores folkeskole og anden uddannelse samt man selv bruger en række danske apps.

Chancen for at denne udvikler kommer til at forstå det store perspektiv er meget lille – så jeg vil ikke anbefale at man forsøger at prøve at forklare det omkring det der skal laves. Her vil kulturforskellen og sprogbarriere ofte være så stor at det ikke nytter. Det kommer igen an på HVOR man outsourcer til – har man outsourcing til et ung team i Ukraine som forstår flydende engelsk, så bør man helt sikkert gøre det – en har man valgt et billigt team i Indien som knapt nok forstår engelsk – så er det op ad bakke.

Løsningen er dog sjældent at forsøge at løfte den man outsourcer til op på et niveau, hvor de kan give feedback på forretningsmæssige beslutninger. Løsningen er at lave bedre opgavebeskrivelser.

En detaljeret opgavebeskrivelse

Når man arbejder med outsourcing, så er det derfor vigtigt med en detaljeret opgavebeskrivelse.

Hvor detaljeret den skal være, kommer an på hvor meget man matcher med udvikleren på kultur, sprog og viden om din virksomhed. Jo større forskel, jo mere specific opgavebeskrivelse.

Har man en udvikler som er dygtig, der forstår perfekt engelsk som samtidig kender din forretning, så kan det ofte være nok at give et par sætninger – ligesom ved en dansk udvikler – men i andre scenarier er du nødt til at lave et meget detaljeret skriv med diagrammer over hvor der skal rettes i koden.

En populær klage når folk taler om outsourcing, er at man hurtigt kan bruge meget tid på at lave en detaljeret opgavebeskrivelse – og det næsten er hurtigere at lave det selv. Det er en helt valid klage, og er især korrekt ved teknisk svære opgaver som kræver et stort niveau af forståelse, kombineret med at udvikleren ikke kender området godt.

Det som samme person der klager ofte glemmer, er at hvis man tager en ny dansk udvikler der får samme opgave, så løses opgaven heller ikke magisk uden en lignende detaljeret opgavebeskrivelse.

Vi er tilbage til hvordan opgaven beskrives ud fra de forudsætninger modtageren har. Der er mange niveauer hvorpå man kan beskrive en opgave.

Lad os tage et eksempel. Lad os sige at vi gerne vil tilføje et socialt login (f.eks. Facebook) på ens website.

Her kan man gribe forklaringen an på følgende måder:

Eksempel på opgavebeskrivelse Refleksioner på opgavebeskrivelse
”Vi skal have implementeret sociale logins” Her er store mangler i forklaringen -selv på vores forretningskrav:

– HVILKE sociale logins

– Om de allerede findes (er der oprettet en Facebook Login app?)

– Hvor skal det implementeres? Er det kun på login siden, eller er der andre steder det skal implementeres? Hvad med registreringssiden?

Hertil kommer de tekniske krav som udvikleren slet ikke er nået til endnu. Denne type af opgavebeskrivelse er forfærdelig for en udvikler, fordi der både mangler at tages stilling til forretningens krav samt de tekniske krav.

Medmindre man bruger managed outsourcing, så vil opgaven ofte tabes på gulvet allerede her.

”Vi skal implementere Facebook login (app ID XXXX) på login siden på hjemmesiden” Her er de overordnede rammer beskrevet, og beskrivelsen er på et sted hvor kun dygtige udviklere vil kunne gribe den. Men der er stadigvæk store forretningskrav der slet ikke er taget stilling til f.eks.:

– Skal der både være en ”opret bruger med Facebook” side?

– Hvad sker der hvis den Facebook konto brugeren

logger ind med, ikke har samme email som vi har i systemet?

– Når man opretter brugere i dag kan det være man spørger om et tlf nummer – det tillader Facebook ikke at hente – hvad skal der så ske?

Vi er slet ikke nået til de tekniske krav, og de fleste opgavebeskrivelser opfylder ikke basale overvejelser som dem foroven.

” Vi skal implementere Facebook login (app ID XXXX) på login siden på hjemmesiden.

Ved oprettelse skal der være en Facebook knap, som efter authentication redirecter til en ny ”bekræft data” side, hvor brugeren kan rette data Facebook ikke har igvet og bekræfte data.

Giver brugeren på Facebook ikke adgang til at du må læse deres data, skal brugerens redirectes til den normale oprettelsesside.

Her begynder opgavebeskrivelsen at have taget stilling til de overordnede forretningskrav.

Der er stadigvæk åbne spørgsmål som stadigvæk bør besvares af forretningen (hvad sker der ved fejl, hvilke data trækker vi fra Facebook, osv), men vi er et sted hvor en god udvikler man outsourcer til faktisk kan levere.

Nu kommer de tekniske krav. Det giver mindst lige så mange spørgsmål ift. arkitekturen – som f.eks.:

– Er der et interface der skal benyttes?

– Skal det laves i et API eller lokalt i applikationen?

– Skal den bagvedliggende logik være i sit eget kodeprojekt eller inkluderet i de øvrige?

– Ved fejl, er der en fælles fejl-log som der skal bruges?

Hertil er vi ikke engang nået til selve kodetekniske spørgsmål såsom hvilke klasser, kodestil osv. der bruges.

Der er ingen tvivl om at giver man en dansk udvikler en opgavebeskrivelse på nogle af de øvre trin med dårlige forklaringer, så kan han bedre løse dem end samme udvikler i outsourceret udgave. Som vi er kommet ind på skyldes det en blanding af langt bedre forudsætninger og kulturelle forskelle.

Det underliggende problem er stadigvæk at opgaven faktisk ikke er klar til at blive givet til udviklingsafdelingen. Udviklingeren var i dette tilfælde nødt til at enten tage forretningsmæssige beslutninger, eller tage flere omgange frem og tilbage med den afdeling der har bedt om opgaven.

Det bringer os videre til kerneudfordringen ved outsourcing:

Virksomheder aner ofte ikke hvad de vil have lavet

Opgaver kommer ofte fra mange forskellige afdelinger. De kommer fra marketingafdelingen, økonomiafdelingen, direkte fra direktøren eller helt andre steder.

En opgave er i mange afdelingers øjne nok bare den er beskrevet som f.eks. ”vi skal have social login”. Men der er et kæmpe gap mellem ”social logins” og noget en person fra Ukraine (eller Indien) kan implementere.

Og hvem skal beskrive den forskel?

Jeg vil vove at påstå det ikke er en IT opgave. En IT afdeling løser normalt denne type af opgaver i mangel af bedre, men udfordringen er denne type af opgaveløsning tager lang tid fordi det først er når opgaven er påbegyndt, at man opdager der ikke er taget stilling til basale ting.

Tilbage til argumentet om det er hurtigere bare at lave ”opgaven selv” end at outsource den, så holder det argument ikke. En opgave tager lang tid at beskrive, HVIS opgaven ikke er klar. Det man ofte opdager når man laver en opgavebeskrivelse, er at der er en lang række ting der ikke er taget stilling til.

Har forretningen – eller den projektleder der laver beskrivelsen – tænkt sig om, så er det både hurtigt at beskrive, samt nemt at implementere for en outsourcet udvikler. Men det er klart – sender man en ”lav social logins” til en udvikler der sidder på den anden side af jordkloden – så garanterer jeg det går galt.

Den store udfordring er så: de ansatte i afdelinger er ofte ikke dygtige eller erfarne nok indenfor IT til at lave denne type af beskrivelser. Der er langt fra en marketingmedarbejder tænker ”social logins” og derefter overvejer ”trække nogle data ud af Facebook” til at vide man ikke kan trække et telefonnummer ud fra Facebook, som er et påkrævet felt i brugeroprettelsen i dag.

Dvs. man KAN være heldig ens marketingmedarbejder tænker dette ind (gør personen det, sørg for at personen bliver i virksomheden!!), men det er sjældent.

Det flytter pludselig ansvaret for successfuld outsourcing til IT afdelingen, hvor den ofte ender i dag fordi IT afdelingen er den eneste der tænker i de nødvendige baner. Det er på ingen måde dårligt – og dette ender ofte rigtig godt. Men IT afdelingen har ofte (meget) travlt, og hele ideen med outsourcing var udover at spare penge, at få mere for hænderne.

Det er her at managed outsourcing er smart. Her kan marketingafdelingen skrive ”social logins!”, hvorefter man i fællesskab løser forreningskrav. Efter det er løst, så løses de tekniske krav med IT afdelingen, så det samtidig implementeres på en måde de kan stå indenfor (eller udenfor IT afdelingen i andre tilfælde).

8 Hurtige tips om outsourcing

Eksperimenter!

Det er så billigt at starte et forsøg med en freelancer eller managed outsourcing (vi har f.eks. intet minimum – vores mindste kunde har købt 30 minutter). Det er sjovt og spændende hvor meget man kan få for pengene, og risikoen er meget begrænset.

Behandel dem du outsourcer til som en ”rigtig ansat”. Sørg for at have det sjovt, tal om andet end arbejde og vær nysgerrig om deres liv. Bare fordi de ikke er på dit kontor, så har de præcis samme behov som normale medarbejdere (og ofte et større niveau fordi de ikke har den daglige omgang).
Start småt og prøv det af. Start enten med en freelancer eller managed outsourcing på et lille projekt
Start med Østeuropa fremfor Asien. Asien har bedre priser, men chancen for det lykkes er mindre
Sørg for at have forretningskrav beskrevet og tænkt GODT igennem før man giver giver en opgave til en udvikler – eller brug managed outsourcing
Ved et seriøst, længerevarende samarbejde, sørg for at møde dine udviklere i virkeligheden efter en periode. Det rykker utroligt meget både ved din forståelse for deres hverdag, men lige så meget jeres samarbejde fremover
Fortæl hvordan du synes samarbejdet går.

Ofte er dem du outsourcer til ambitiøse, og ønsker at blive bedre både til det tekniske, engelsk og at arbejde sammen med dig.

Hertil kommer at de normale 14 dages opsigelsesperiode gør en udvikler bange for at blive opsagt. Det er derfor ekstremt vigtigt at du fortæller du synes det går godt og giver dem den basale tryghed.

Sørg for løbende at tale med din udvikler på Skype eller lign. Har dit team i Danmark daglige eller ugentlige stand-ups, sørg for at holde standups med video så man kan se hinanden.

Hvordan kommer man i gang med outsourcing?

Det er heldigvis super nemt at komme i gang med outsourcing.

Min anbefaling er at starte i det små. Medmindre din virksomhed står overfor en strategisk beslutning og det at starte et team med flere mand er en naturlig ting at gøre, så vil jeg altid anbefale man starter langt mindre.

Har du allerede et team i dag, så er der med sikkerhed opgaver der IKKE bliver løst. Start med at prøve at outsource en simpel opgave eller to. Her vil jeg anbefale at prøve en af følgende løsninger;

  1. Lav en super klar opgavebeskrivelse (tænk forretning og tekniske krav igennem!), og smid den op på Upwork.com. Her er du selv ansvarlig for at finde den rigtige udvikler og kommunikere med ham/hende. Vælg en person fra Østeuropa, og sats på et prisleje mellem 20 og 30 USD i timen.
  2. Prøv managed outsourcing af. 

 

Der er selvfølgelig også andre virksomheder der laver managed outsourcing. Dette kræver dog typisk at man binder sig til et minimumsbeløb, hvilket også er fint for en test.

Det vigtigste take-away fra denne e-bog er dog budskabet. Outsourcing er i år 2017 noget for alle. Det er relevant selv hvis du er nystartet iværksætter med et lille budget, leder i en mellemstor virksomhed eller om du arbejder i en stor virksomhed.

Du behøves ikke starte stort. Du kan starte småt, og arbejde dig op. Outsourcing er mange ting, og alt efter de skills du har i dit team i dag  – så er der mange forskellige fremgangsmåder.

Jeg ønsker dig alt held med at begynde på outsourcing – jeg håber I får bygget en masse fede ting 🙂 !