Kennisportal
Kennisportal is een kennisplatform met een focus op de brede doelgroep Business en IT.

Softwareontwikkeling outsourcen: zo doe je het goed

In 6 stappen naar succesvolle projecten

De motivatie van veel bedrijven om softwareontwikkeling uit te besteden aan een buitenlandse partner (outsourcing) is vaak economisch. In eigen land zijn goede programmeurs dun bezaaid en bovendien erg duur. Ga je buiten de landsgrenzen kijken, dan zijn de specialisten wel in overvloed aanwezig. Net zo deskundig, maar een stuk goedkoper. Ervaring leert ons dat outsourcing niet altijd van een leien dakje gaat. Daarom zetten wij 6 stappen op een rij die jou helpen bij het succesvol outsourcen van jouw softwareontwikkeling.

Projecten op afstand controleren, cultuurverschillen, taalbarrières. Het zijn maar enkele van de issues waarmee je te maken krijgt als je kiest voor outsourcing. Laat je echter niet ontmoedigen, de voordelen van outsourcing zijn te groot om te negeren. Outsourcing kan een vriend zijn als je het goed aanpakt maar een vijand als je het niet op de juiste manier adresseert. Wij laten je zien hoe je outsourcing goed aanpakt, hoe je risico op teleurstelling ombuigt naar voorwaarde voor succes.

1. Zet een duidelijke strategie voor outsourcing op papier

Is jouw ICT-organisatie volwassen genoeg om outsourcing goed te managen? Breng in kaart welke projecten zich lenen voor outsourcing. Dit zijn vaak grotere projecten met een duidelijke(re) functionele beschrijving. Of kleinere (mobiele) applicaties met een repeterend karakter.

Voor Agile gelden andere maatstaven. Allereerst moet er een duidelijke Agile visie voor de bedrijfsvoering ontwikkeld zijn. Daarbij geldt zoals ze in Japan zeggen: “Visie zonder actie is dagdromen. Actie zonder visie is een nachtmerrie.”

2. Besteed softwareontwikkeling uit aan een betrouwbare partner

Jouw strategie voor het outsourcen van software staat op papier, nu is het tijd voor het uitbesteden van softwareontwikkeling en het vinden van de ideale partner. Houd voor ogen dat je gaat voor een langetermijnsamenwerking. Dus niet het over de schutting gooien van één project en daarna hard wegrennen…

In een langdurige samenwerking behaal je de maximale resultaten en kostenbesparingen. Ook jouw outsourcing partner heeft een inwerkperiode nodig, net zoals je in-house programmeurs. Besteed aandacht aan een match qua cultuur en taal. Hoe verloopt de samenwerking met jouw medewerkers? Liggen en mogen ze elkaar? Met name dat laatste aspect is doorslaggevend voor succes.

Uiteraard is het belangrijk dat de outsourcing partner over de gevraagde expertise, technologie, ervaring en kennis beschikt. Liefst nog wat meer dan binnen je eigen bedrijf aanwezig is. Zo kun je nog iets van elkaar leren…

3. Vergeet productmanagement niet

De aanwezigheid van een softwarestrategie aan de kant van de opdrachtgever is cruciaal. Zorg voor een productowner die overzicht behoudt over alle te ontwikkelen en op te leveren producten en projecten. Belangrijk is dat hij of zij deze ook goed weet te verwoorden naar het IT-team, zowel in communicatie als de benodigde documentatie. Verder helpt de productowner het team met het stellen van prioriteiten en het nemen van beslissingen.

4. Projectmanagement

Bij de opdrachtgever is een projectmanager nodig die verantwoordelijk is voor alle projectdocumentatie, het opzetten en managen van het totale ontwikkelproces, aanvragen voor nieuwe (deel)projecten, het vaststellen en managen van deadlines en het managen van de voortgang.

Wil je het ontwikkelproces effectief managen? Dan is het belangrijk om vóór de start van de samenwerking overeenstemming te hebben over:

  • De te gebruiken applicaties voor tracking en versiecontrole
  • Release-managementstrategie en operationele afspraken
  • Testprocedures moeten vooraf vastgesteld worden en gedurende het project strikt gevolgd worden. Is het nodig om de procedures aan te passen? Maak dan opnieuw heldere afspraken en leg deze vast.

Duidelijke overeenstemming en afspraken zijn cruciaal om de resultaten te kunnen meten en managen.

5. Goede communicatie = goede samenwerking

Wat zijn de belangrijkste elementen om kosten te besparen en de efficiency van het team op afstand te verhogen? Allereerst moet je voldoende tijd besteden aan het inwerken van het team en aan de communicatie. Daar is vanwege de afstand meer tijd voor nodig dan bij het inwerken van personeel bij jou op de werkvloer. Dagelijkse communicatie (via bijvoorbeeld Skype) en regelmatige on-site bezoeken over-en-weer zijn een must.

Om ervoor te zorgen dat het team van de opdrachtgever en het outsource-team op dezelfde lijn zitten, en blijven, is het belangrijk om evaluatiesessies te houden na iedere stap in het project. Alle voor- en nadelen doornemen, aanpak en meningen goed tegen het licht houden en weer alle neuzen dezelfde kant op. Voortdurende synchronisatie is bij ieder project belangrijk maar zeker bij outsourcing.

6. Kwaliteitsborging

Om de kwaliteitsborging te verzekeren is er bij het outsource-team één QA-engineer nodig per 3-4 ontwikkelaars. De QA-rol vereist een goede kennis van de doelstellingen van het project. Daarbij kan de QA-engineer deel uitmaken van het ontwikkelteam of van een QA-team van de opdrachtgever. In beide gevallen dient hij echter onafhankelijk de kwaliteit te kunnen beoordelen, volgens de specificaties die met de productowner zijn overeengekomen.

Conclusie over outsourcing

Een duidelijke strategie, een betrouwbare outsourcing partner, structuur en heldere en veelvuldige communicatie zijn een must voor succesvolle samenwerking. Dit kost je in de aanvangsfase zeker tijd en energie. Maar het uiteindelijke resultaat is flexibiliteit, betere software en minder kosten!

Over de auteur

Anna Shemyakina uit St. Petersburg is CEO van E-ngineers. E-ngineers ontwerpt en bouwt groot- en kleinschalige softwaretoepassingen voor opdrachtgevers uit Rusland, Nederland, Zweden en Denemarken. Benieuwd of ze jou ook kunnen helpen met softwareontwikkeling? Neem dan contact met ons op!