Software ontwikkelen. Outsourcen of zelf doen?

Een tijdje geleden hadden we een klant. Leuke mensen, gaaf project, alles liep gesmeerd. Toch werd het project stop gezet. Wat bleek? Het bedrijf had besloten een eigen IT ontwikkelclub op te zetten en de software in-house te gaan ontwikkelen. Natuurlijk stonden we daar even raar van te kijken, maar eigenlijk is het zo gek nog niet. Het gaat om een jong, snel groeiend bedrijf met veel ambitie. Logisch dat ze hun eigen software willen ontwikkelen, maar weten ze wel waar ze aan beginnen?!

 

Alleen als het kan!

Bij het opzetten van een eigen softwarefabriek komt veel kijken! Sowieso is een eigen ontwikkelteam voor de meeste bedrijven geen optie. Je hebt er een bepaalde schaalgrootte voor nodig. Als je je slechts 1 of 2 mensen kunt permitteren, dan gaat het gewoon niet werken (zie eerdere blog over de eenzame ontwikkelaar). Maar als je wel voldoende body hebt, wat zijn dan de voors en tegens van het opzetten van een intern ontwikkelteam? We hebben onze gedachten eens flink laten gaan. Hierbij onze braindump.

De Voordelen

  • Bij CNOC houden we van korte lijnen tussen ontwikkelaars en gebruikers. Maar we kunnen natuurlijk niet bij de klant op schoot gaan zitten. Hierin hebben eigen ontwikkelaars een grote voorsprong. Die kunnen zo vaak ze willen bij de gebruiker langsgaan om wat af te stemmen. Pure luxe!
  • Omdat interne ontwikkelaars zich helemaal kunnen focussen op de systemen van één enkel bedrijf bouwen ze meer vakinhoudelijke kennis op over het product en de markt waarop het bedrijf opereert.
  • Eigen medewerkers voelen zich doorgaans meer betrokken bij het bedrijf dan externen. Interne ontwikkelaars hebben bovendien beter zicht op hoe het systeem in de praktijk wordt gebruikt en waar de mogelijkheden tot verbetering zitten.
  • Als bedrijf ben je niet afhankelijk van externe leveranciers die geen tijd voor je hebben of worden overgenomen door een partij die je totaal niet ziet zitten. Door alles in eigen handen te houden, hou je de regie en kun je je eigen prioriteiten stellen.
  • Het kan goedkoper zijn om eigen software te bouwen.

De Nadelen

  • Zomaar wat vragen die bij ons opborrelen: Wie wordt verantwoordelijk voor het inrichten en onderhouden van de complete OTAP straat incl alle tooling? Hoe zorg je voor versiebeheer, hoe richt je de support van je infra in, wie wordt de manager van het team en aan wie rapporteert die? Welke ontwikkelmethodiek wordt gekozen en wat is ervoor nodig om die te gaan gebruiken? Het gaat heel veel tijd, energie en geld kosten om je developteam goed op te zetten!
  • Het werven van goede IT specialisten is een vak apart. Door de steeds grotere complexiteit moet je goed weten wat je zoekt. Op alleen juniors bouw je geen team. Je hebt minstens een goede software-architect, een front-end ontwikkelaar en een back-end specialist nodig. En een ervaren tester natuurlijk!
  • De IT wereld verandert snel dus de medewerkers moeten voortdurend worden bijgeschoold. Wees gewaarschuwd: het opleidingsbudget gaat exploderen.
  • Het is natuurlijk heerlijk om alles in eigen hand te hebben, maar het nadeel is dat tunnelvisie op de loer ligt. Externe medewerkers kijken met meer afstand naar je bedrijf. Bovendien ligt het voor hen wat makkelijker om te waarschuwen voor 'domme' beslissingen dan voor een interne medewerker.
  • Heb je eenmaal ontwikkelaars in vaste dienst, dan kom je er ook niet meer vanaf. Ben je niet tevreden over je softwareleverancier, dan kun je relatief eenvoudig overstappen naar een ander. Bij een interne ontwikkelclub, ligt dat lastiger. Je hebt geen alternatief meer.

Ons welgemeende advies

We kunnen nog veel voors en tegens bedenken, maar waarom zouden we? Als wij voor de beslissing stonden om al dan niet een eigen ontwikkelteam op te zetten, dan wisten we het wel. Dus heb je de wil, de drive en de ambitie? Ga ervoor! Software maken is nou eenmaal het mooiste wat er is :-)