Ud fra de kommentarer jeg har fået her på bloggen kan jeg se, at der er mange, der forbinder outsourcing af softwareudvikling med black boxes: Sorte kasser – eller prædefinerede projekter – som man sender ud i verden for så at få noget færdigudviklet software tilbage. Den type softwareudvikling jeg koncentrerer mig om på bloggen er outsourcing af distribueret softwareudvikling med dedikerede teams, da det er den type, jeg har beskæftiget mig med de sidste 8 år i Conscensia-regi. Men hvad er egentlig forskellen på de to typer af outsourcing, og hvorfor vælge den ene frem for den anden? Efter min mening handler det om virksomhedens modenhed, og hvor klare ens specifikationer er.

Black box-modellen

Black box-modellen er klassisk outsourcing, hvor du laver en specifikation på den software, du vil have udviklet. Softwaren bliver leveret, når den er færdigudviklet, og du får softwaren til en fast pris, leveret på et aftalt tidspunkt.

Fordele:
Når du først har afleveret dine specifikationer, kan du bare læne dig tilbage og vente på den færdige software. Det betyder, at der heller ikke er de helt store krav til din virksomheds erfaring med udviklingsprojekter. Sourcingpartneren har hele projektledelsen, så det er dem der løber en risiko, hvis projektet fx tager længere tid end forventet.

Ulemper:
Da sourcingpartneren har ansvaret for projektledelsen, bliver prisen på projektledelsen ofte skruet op, så der er råd til eventuelle uforudsete problemstillinger undervejs. Det er klart, at leverandøren ”forsikrer” sig selv, men det kan i nogle tilfælde betyde, at der er lagt helt op til 30 % oven i prisen.

Udviklerne bliver typisk set som kodemaskiner, der arbejder meget nøjagtigt ud fra de specifikationer, de får. Hvis dit projekt ikke er meget nøjagtigt beskrevet, er der en stor risiko for, at du ender ud med en software, som ikke fungerer helt, som du havde forventet.

Selvom det sagtens kan lade sig gøre at udvikle op mod dit eget udviklingsmiljø, når du outsourcer efter black box-modellen, er det langt fra normen. Så når du sender et projekt ud af huset, har du reelt ingen kontrol med det.

Dedikeret team-model

Med outsourcing af distribueret softwareudvikling til et dedikeret team, rekrutterer din sourcingpartner udviklere til dig, som i princippet kommer til at fungere som dine egne ansatte. Sourcingpartneren står ofte for alt det praktiske i forhold til HR, mens du selv skal stå for selve projektledelsen.

Fordele:
De outsourcede udviklere på et dedikeret team er ofte mere proaktive, fordi der er åbnet op for, at de også må tænke selv (de bliver set som mennesker og ikke kodemaskiner). På den måde kommer du ganske enkelt længere, og du får mange gange mere for dine penge.

Når du arbejder med et dedikeret team, bliver softwaren stort set altid udviklet op mod dit eget udviklingsmiljø, og kildekoden til softwaren ligger typisk på din egen server, så du altid har fuld kontrol over forløbet, selvom udviklerne ikke sidder fysisk hos dig.

Ulemper:
Du står selv for projektledelsen, og det er dig, der løber en risiko, hvis opgaven bliver løst langsommere end forventet. Du betaler løn efter timer, så hvis projektet tager længere tid, bliver det også dyrere.

Der er også et større krav til modenhed i din virksomhed. Det er vigtigt, at du selv kan styre et udviklingsprojekt, at du er klar i din kommunikation, og at du er dedikeret til opgaven.

Et spørgsmål om modenhed og specifikationer

Om du skal vælge den ene eller den anden model handler som sagt blandt andet om modenhed, og hvor klar du selv er til at styre udviklingsprocessen. Hvis du selv har overskud til at stå for projektledelsen vil jeg helt klart anbefale, at du vælger distribueret softwareudvikling med et dedikeret team, fordi du simpelthen får mere for pengene.

Hvis de to typer af outsourcing skal løse samme opgave, på samme tid, vil det være billigere at få løst opgaven med et dedikeret team, fordi prisen ofte er skruet op på black box-projekter, for at dække eventuelle udfordringer undervejs.

Hvis din virksomhed ikke har en udviklingsafdeling, som er moden – eller har den rette viden – til at tage sig af projektledelsen af de outsourcede udviklere, kommer du nok længere ved at outsource via black box-modellen.

Ud over modenhed handler det desuden om, hvor klart dit projekt er defineret. Jo mere uklarhed der er i forhold til dit projekt, jo sværere er det at bruge black box-modellen, fordi du ikke har mulighed for at tilpasse undervejs. Her kommer du helt sikkert længst med et dedikeret team, hvor du kan justere udviklingen, efterhånden som udviklingen skrider frem.

Pernille Hejle Pedersen
About Pernille Hejle Pedersen

Marketingkoordinator/PA, Conscensia, pep@conscensia.com