Selv før bedriften tar kontakt med en outsourcing-partner, er det ting dere bør tenke over for å stille best mulig forberedt.
Det hjelper å formulere noen spesifikasjoner for hva dere skal se etter, samt å gjøre bedriften klar for å endre (litt) på arbeidsmønsteret sitt.
Her er noen av de aller viktigste spørsmålene å besvare:
1. Hva ønsker vi å oppnå ved å outsource?
Både for å vite hva dere skal se etter, samt for å kunne måle hvor godt løsningen fungerer, er det viktig å vite hva som er hovedformålet med outsourcingen. Dette avgjør både hva slags kompetanse dere må oppsøke, hva dere kan beholde selv, lengden på prosjektet og hva slags økonomisk investering det er snakk om.
Noen typiske drivere kan være:
- Du vil bruke mindre penger – Kutte utgifter i bedriften ved å sette ut oppgaver til ansatte i land med et annet prisnivå. Dette handler ikke om å betale for dårligere arbeid, men at selv et høyt lønnsnivå i lavkostland er vesentlig lavere enn en gjennomsnittslønn i Norge.
- Du sliter med å innhente kompetanse – Det er ikke akkurat arbeidsgivers marked i Norge når det gjelder IT-kompetanse. Det bugner av dyktige utviklere utenfor landegrensene, så ofte er det eneste mulige løsning, samtidig som du kan få like høy kvalitet på arbeidet derfra.
- Du trenger folk, raskt – Den lave tilgangen på utviklere i Norge gjør at det ofte kan ta opptil et halvt år å finne noen, som deretter har enda tre måneder i oppsigelsestid på sin forrige arbeidsplass. Har du ikke tid til å vente i månedsvis på nye ressurser, kan outsourcing sørge for at du får noen på plass i løpet av én til to måneder.
- Du ønsker fleksibilitet – Behovene dine for utviklingskapasitet kan endre seg. Med outsourcing har du fleksibilitet til å skalere teamet opp eller ned.
2. Hvilke oppgaver ønsker vi å beholde in-house?
Det er viktig å ha et bevisst forhold til hva som skal gjøres på huset, og hva som kan settes bort til et eksternt team. Selv om eierskap og kreativ deltakelse fra utviklerne dere hyrer inn er noe vi etterstreber, burde dere ideelt sett ta de overordnede valgene selv. Her snakker vi om valg omkring systemarkitektur, større strategiske beslutninger og produktutvikling.
Hvilke features skal produktet ha, og når skal de implementeres? Hvilke komponenter skal prosjektet deles opp i? Skal det hostes via sky eller gjennom mer tradisjonelle hosting-leverandører?
Om dette er beslutninger og oppgaver som per dags dato er vanskelig å få tid til for eksisterende utviklere og produkteiere, kan det å outsource mer rutinepreget arbeid som testing og bug-fixing åpne opp timeplanen deres til å jobbe med de store linjene.
3. Hvem må vi få med på laget, og hvordan?
Å selge inn outsourcing til de som ser på tallene er ofte ganske enkelt. Det har åpenbart noen store økonomiske fordeler, og for dem som sitter med budsjettansvar er oppsiden tydelig.
Noe større skepsis møter du oftere hos utviklere, designere og andre som vil bli direkte berørt. Dette er de som vil ha mest kommunikasjon med de nye utviklerne, noe som også forutsetter at arbeidsdagen påvirkes en del.
Det er langt fra sikkert at du vil møte alt for stor motstand (vår erfaring er at de ofte er positive til å få inn ekstra kompetanse), men om du gjør det, er det viktig å tenke:
«What’s in it for me?»
Som vi nevnte over, er det åpenbare svaret her at de vil få mer tid til de mest spennende oppgavene, til å utforske ny teknologi, og kan avlastes for noen av de mest repetitive jobbene. Mange vil også se det som en mulighet til å ta mer ansvar, ta på seg en større teamleder-rolle, og dermed stige i gradene.
4. Hvordan skal vi organisere oss i hjemmeorganisasjonen?
Vi har skrevet en del i tidligere innlegg om hvordan distribuert utvikling krever litt mer struktur enn du kan tillate deg når alle er samlet på én lokasjon. Om ikke dere allerede benytter dere av agile metoder som Scrum, er dette et godt tidspunkt å starte på. Dere vil også trenge videokommunikasjonsverktøy for hyppig dialog.
I tillegg er det lurt å etablere en veldefinert arbeidsflyt for å styre utviklingsprosessen. Man bør ha et bevisst forhold til hvordan man samler inn og dokumenterer behov, ønsker og krav, hvem som er ansvarlig for å prioritere oppgavene som skal settes ut, hvem som skal være tilgjengelig for teamet for å svare på spørsmål, og hvem som godkjenner leveransene.
5. Hva slags kompetanseprofil har vi behov for?
Dere har sikkert noen tanker om hva dere har behov for fra før. Hvilke kodespråk må utviklerne kunne, er det mest frontend eller backend, og hvor mange seniorer kontra juniorer skal dere ansette?
Særlig sistnevnte er det verdt å tenke litt ekstra over. Mange er fokusert på bare å få tak i de beste, mest erfarne utviklerne, men da gjelder det å se litt på hva slags oppgaver som outsources. Er det veldig enkle, repeterende oppgaver, kan dere unngå høy turnover ved å ansette dyktige, men litt mindre erfarne utviklere.
Ofte ser vi at det også er behov for en tester, selv om bedriften ikke alltid har tenkt på dette. Ta diskusjonen om kompetansebehov med outsourcing-byrået, så vil de kunne komme med gode forslag, samtidig som de etterkommer behovene dere har etablert på forhånd.
Kategorier:
Ekstern utvikling