I dette indlæg vil jeg komme ind på mine erfaringer med outsourcing. Jeg håber at dette kan hjælpe dig, når du skal outsource, så du ikke begår de samme fejl, som jeg har begået. Jeg håber også at du vil dele dine outsourcing erfaringer, via kommentarerne i bunden, så både jeg og andre læsere kan blive klogere, samt bedre til at outsource.
Hvorfor outsource?
Der kan være mange grunde til at outsource.
Hvis man outsourcer i Danmark, så er det oftest for at frigøre sin egen tid, til de emner man brænder for, eller for at afdække områder hvor andre personer har højere kompetence end en selv.
Hvis man outsourcer til udlandet, så gør de samme ting sig gældende. Men oven i hatten er ofte også et pengemæssigt aspekt. En inder eller en filippiner kan arbejde væsentligt billigere end en dansker, og derfor kan man (måske) få mere for pengene disse steder.
Der vil dog altid være et overhead, når man outsourcer. Man skal beskrive og forklare sin opgave, hvilket godt kan tage lang tid. Derudover skal man løbende holde en kontrol af, om opgaven forløber planmæssigt.
Sådan skal du ikke outsource
Jeg driver et website med gratis konkurrencer. Her tjener jeg penge via affiliate aftaler med de danske annoncenetværk. De fleste netværk tilbyder callback. Dette betyder, at netværket sender en besked retur til mig, når der laves et lead, som jeg får betaling for. Dermed kan jeg tracke hvilken opsætning og hvilke kampagner, der virker bedst på mit website.
Desværre er det ikke alle netværk der tilbyder callback. Flere netværk benytter software fra firmaet DirectTrack, og denne software har ikke callback i standard opsætningen. Til gengæld tilbydes der et API, hvor man kan udtrække div. ting. Jeg skriver ”div. ting”, da jeg ikke har undersøgt API’et. Mine manglende forundersøgelser er blandt de ting, man skal passe på med ved outsourcing.
Min nuværende løsning hos de netværk, der benytter DirectTrack, er at udtrække en CSV fil manuelt fra systemet. Via denne fil opdaterer jeg efterfølgende min database. Ulempen ved dette er, at jeg skal lave manuelt arbejde, samt at min database ikke er live-opdateret.
Jeg havde en ide om, hvordan dette skulle løses, men havde ikke tiden til at udføre arbejdet. Jeg håbede derfor på, at jeg kunne spare tid via outsourcing.
Jeg forventede at løsningen enten måtte være udtræk fra API eller at scrape indhold via eksempelvis curl. Jeg søgte derfor på oDesk efter personer med speciale indenfor PHP og curl. Jeg ville ikke vælge personer med for mange kompetencer, da jeg var bange for, at personen i det tilfælde kun ville have overfladisk kendskab til emnet.
Jeg gennemgik personbeskrivelserne og fandt 5-6 personer, som så ud til at have de rette kompetencer. Timeprisen for disse lå fra ca. 6 USD/timen til ca. 90 USD/timen. Jeg valgte en person med en timepris på 12 USD/timen. Personen havde ikke billede på sin profil.
Derefter udbød jeg opgaven til den valgte person, som tog imod opgaven. Jeg beskrev hvilket problem jeg ønskede løst. Hvordan jeg pt. udførte opgaven, og de 2 løsningsforslag, som jeg selv kendte til. Slutteligt lod jeg udvikleren få frie tøjler til at løse opgaven ud fra dette.
Resultatet blev en masse ping pong frem og tilbage imellem udvikleren og jeg selv. Der blev udviklet masser af kode. Det meste kode virkede dog som færdige byggeklodser og havde ikke umiddelbar relation til opgaven, der skulle udføres.
I første omgang blev der udviklet på en løsning, der skulle scrape indhold via curl i PHP. Først langt henne i projektet fik jeg en melding fra udvikleren om, at det ikke kunne lade sig gøre. Udtræk fra annoncenetværkets database gemte sig bag noget AJAX og kunne derfor ikke hentes med curl.
Jeg vidste, at annoncenetværket havde en gammel version af deres system online. I den gamle version blev der ikke brugt AJAX. Til gengæld lå den gamle version på en secure connection (https) og kunne derfor ikke tilgås med curl. Jeg spurgte derfor netværket, om de kunne gøre det muligt at tilgå det gamle system via alm. http. Dette var desværre ikke muligt. Netværket kunne heller ikke redegøre for, at den gamle version skulle benytte https, mens den nye version kørte på http.
Derefter forsøgte udvikleren at tilgå systemet via API’et. Ofte vil man starte med denne løsning, men da der kun kunne findes sparsom dokumentation af API’et, så blev denne løsning fravalgt i første omgang. Der var dog en smule information fra DirectTracks side, og denne forsøgte udvikleren at følge. Inden længe måtte udvikleren dog opgive, da der tilsyneladende var fejl i API’et. Om det var en programmør fejl eller faktiske fejl i API’et ved jeg ikke.
Jeg forsøgte i første omgang at få annoncenetværket til at kommentere på fejlbeskederne fra API’et. Annoncenetværket vidste dog intet om API’et. Jeg forsøgte derefter at få annoncenetværket til at lave en forbindelse imellem DirectTrack og min udvikler, så de sammen kunne løse problemet. Der var dog ikke den store velvilje til dette.
På dette tidspunkt havde jeg selv brugt en del tid på projektet. Dog havde jeg ikke brugt tid på at undersøge nogle af løsningerne. Jeg havde brugt tid på at gennemse, hvad udvikleren havde leveret. Tid på feedback og ping pong med udvikleren. Samt tid på diskussion med annoncenetværket. Da jeg samtidig var ved at være en smule træt af netværket, og da størstedelen af min omsætning ligger udenfor dette netværk, så valgte jeg at skrinlægge projektet her.
Samlet en lang historie om et mislykket outsourcing projekt, der fejlede på rigtig mange punkter.
Se her 7 fejl jeg begik ved outsourcing:
- Jeg havde ikke undersøgt til bunds om opgaven kunne lade sig gøre
- Jeg havde ikke tjekket med baglandet (annoncenetværket), om der var motivation til at min problemstilling skulle løses
- Jeg gik efter en timepris i stedet for en fast pris på opgaven
- Jeg valgte en for billig løsning. Dvs. billig i timepris, men dyr ift. eget tidsforbrug.
- Jeg valgte en person, der ikke havde udfyldt nok informationer om sig selv. Personen havde udfyldt kompetencer, men ingen personlig beskrivelse og intet billede.
- Jeg beskrev målet og et par løsningsforslag, men lod den endelig løsning være op til udvikleren.
- Jeg gik ikke efter en specialist, men efter en person der lige nøjagtig skulle kunne løfte opgaven (forvent mindre end det beskrevne)
Måske begik jeg endnu flere fejl end disse punkter. Giv mig gerne et hint om dette, så tilføjer jeg dem til listen, så vi alle kan blive klogere.
Sådan skal du outsource
Min første erfaring med outsourcing vil jeg beskrive som en fiasko, men lad mig også berette om min anden outsourcing erfaring. Her gik det noget bedre.
Jeg har en MySQL database, som på dette tidspunkt var hostet på en Platin VPS løsning hos Unoeuro. Dette er den største løsning, som Unoeuro tilbyder. Jeg har dog udviklet et system, der bruger rigtig megen databasekraft, og derfor var min database i knæ.
Da en MySQL database kan tweakes på mange måder, så skulle jeg undersøge, om det var muligt at lave en bedre opsætning, og blive på samme hardware. Alternativt skulle jeg skifte til en anden udbyder, for at få en kraftigere server.
Bl.a. i kraft af min uddannelse som Datalog, så har jeg kompetencerne til at kunne undersøge dette. Men jeg har aldrig tidligere undersøgt den tekniske opsætning af en MySQL database, så det ville kræve flere dage at undersøge, hvis det skulle gøres optimalt.
Jeg valgte derfor igen outsourcing. Denne gang ikke af en specifik opgave, men for at finde en specialist, som kunne være min vejleder.
Jeg søgte igen på oDesk og fandt en Philipiner med et imponerende CV. Prisen var 25 USD/time, hvilket nok igen er i den lave ende, hvis man ønsker en specialist. Denne gang ramte jeg dog rigtigt. Jeg fik dygtig vejledning. Jeg fik hjælp til at flytte min database til en anden udbyder. Jeg fik hjælp til at tweake databasen.
Se her 3 forcer, som hjalp mig til succes ved outsourcing:
- Jeg gik efter en person der havde udfyldt sin profil med billede (større troværdighed)
- Jeg søgte en specialist til vejledning, som jeg kunne lære af
- Jeg valgte ikke den billigste løsning. Faktisk tror jeg at jeg var heldig med de 25 USD/time. Jeg forestiller mig, at man normalt skal længere op, hvis man vil sikre sig en specialist.
Feedback
Som mine erfaringer fortæller, så er der både situationer, hvor det er en god ide at outsource, samt situationer hvor det er knap så god en ide.
Jeg har skitseret en situation, hvor man med fordel kan outsource, og en situation hvor man bør holde sig fra at outsource. For at spare både dig og mig for flere mislykkedes outsourcing forsøg, så vil jeg sætte stor pris på, at du også deler dine outsourcing erfaringer. Hvilke ting har du med fordel outsourcet?
Jeg hører også gerne, hvordan du har outsourcet. Dvs. har du brugt elance, oDesk eller en tredje metode, og hvilke fordele og ulemper har du oplevet ved dette?
Jeg håber at høre fra dig i kommentarerne herunder.
Esben skriver
Hej Erik,
Tak for indlægget. Jeg har selv oplevet både fiasko og succes med hensyn til outsourcing. Jeg har kun outsourcet via Elance. Og her er, hver jeg er kommet frem til: Hvis du bestiller en service, som du ikke aner noget om, får du typisk leveret noget, du ikke kan bruge og som i værste fald skader dit projekt. Hvis du bestiller noget konkret arbejde, som du med egne øjne kan vurdere kvaliteten af, kan det ikke rigtigt gå galt.
Erik skriver
@Esben – Har du betalt med timepris eller fast pris?
Hvis du betaler fast pris og kan definere opgaven så klart at der er et entydigt svar på om opgaven er fuldført, så burde det ikke kunne gå galt.
Men hvis du betaler en timepris, så er du vel ikke garderet imod noget som helst? Dvs. selv om du opdager at du får leveret noget makværk, så skal du fortsat betale personen for den tid der bliver brugt.
Steffen skriver
@Erik – Kender du WorkView funktionen?
På Elance er der en funktion, der hedder WorkView og det den gør er faktisk, at freelanceren får taget et billede hvert 10 sekund af hans skærm mens han arbejder for dig.
Dvs. han “stempler ind” når han starter arbejdet og ligeledes “stempler ud”, han er færdig med at arbejde for dig. Når han har stemplet ud, sendes denne billedsekvens så til dig.
Det kan være en god løsning til at opbygge tillid mellem dig og din freelancer når samarbejdet er nyt.
Generelt vil jeg også anbefale alle at starte med at outsource små opgaver, samle erfaringer og bygge netværk. Når man er erfaren og kender gode freelancere kan man begynde at outsource større og større opgaver.
Erik skriver
@Steffen – Tak for din kommentar. Det er nogle gode råd.
Jeg har ikke prøvet jeres WorkView funktion. Det eneste projekt, som jeg kan komme i tanke om, hvor jeg har benyttet jer, var en designopgave med fast pris. Derfor var det ikke relevant at se hvordan tiden blev benyttet.
Jeres konkurrent oDesk, som jeg nævner i ovenstående har en lignende funktion. Her har jeg arbejdet med timelønnede. Det er selvfølgelig fint at have denne funktion, så man kan se at der rent faktisk bliver arbejdet på det rigtige projekt. Men det hjælper ikke så meget, hvis det der bliver produceret ikke er det rigtige eller af dårlig kvalitet.
Jeg vil hellere have en dygtig udvikler der arbejder halvdelen af tiden på egne opgaver, end jeg vil have en dårlig udvikler der arbejder fuldtid på min opgave.