Freelance software ontwikkelaar of toch een bureau?

Freelance software ontwikkelaar of toch een bureau?

Als freelance software ontwikkelaar merk ik dat veel ondernemers aanvankelijk twijfelen om mij in te schakelen omdat ik een "eenpitter" ben.

Ze denken dan dat een team sneller werkt, of beter beschikbaar is, dan een freelance ontwikkelaar.

Denk jij dat ook? Niets is namelijk minder waar.

In software-land is er een beroemde quote van Frederick Brooks, winnaar van de Turing award (de 'nobelprijs voor de ICT').

Hij schreef dit in Mythical Man Month, zijn baanbrekende essaybundeling over management van software projecten:

"What one developer can do in one month, two developers can do in two months."
-Frederick Brooks, winnaar Turing Award

Brooks publiceerde dit boek in 1975 en technische delen zijn gedateerd. Maar zijn visie over management en de mythe dat je software kunt versnellen met meer handjes, staat nog fier overeind. Het is een standaardwerk onder ontwikkelaars.

Sidenote: een vertrouwde grap onder software ontwikkelaars is om het boek met kerst aan je manager kado te geven - en dan geef je natuurlijk twee exemplaren zodat 'ie het sneller uit heeft ;).

De les van Turing Award winnaar Brooks: laat je niet misleiden door de valse suggestie dat software sneller 'klaar' is met meer ontwikkelaars.

Het omgekeerde is waar: de kans is zeer groot dat je project met meerdere ontwikkelaars langer duurt, meer kost en lagere kwaliteit oplevert.

Dat komt omdat software ontwikkeling een complex proces is (nog los van de complexiteit van de beoogde software zelf).

Het is een vak dat draait om glasheldere en efficiënte communicatie tussen opdrachtgever en ontwikkelaar, nodig om de complexiteit van het onderwerp te overwinnen met een eenvoudig doeltreffend technisch product.

En hoe groter het team, hoe ingewikkelder de communicatie.

Je project moet dus wel zeer complex zijn, wil het lonen (= goedkoper, sneller én beter resultaat) om er meerdere developers op te zetten.

Is dat niet het geval, dan heb je van een team geen voordeel maar juist nadelen, zoals:

  • developers die wisselend op- en afspringen en telkens moeten inwerken;
  • je wordt afgeschermd van het team door een projectleider of accountmanager;
  • de voortgang is matig of op zijn best grillig;
  • het duurt lang voordat je antwoord krijgt op inhoudelijke vragen over de techniek of ontwerp.

Hoe complex moet een software project dan zijn?

Complexiteit is moeilijk uit te drukken. Het kan zitten in de totale omvang, het aantal componenten of functies van de applicatie, of in één of twee kleine details.

Maar vrijwel alle webapplicaties waarmee ik benaderd word, zijn goed te doen voor één ontwikkelaar. Denk dan aan:

  • een geavanceerd planningsysteem voor het produceren van maaltijden
  • een complex b2b-ordersysteem met klantspecifieke producten, prijzen en voorwaarden
  • een tool voor de technische documentatie van een engineering proces
  • een SaaS-platform voor het projectmatig verwerken en bewaken van meetwaardes
  • een online database voor de financiële administratie van verkoopcijfers en commissies

Past jouw webapplicatie in dit rijtje? Dan zit je zeker goed.

Er is wel een belangrijke voorwaarde.

Niet elke freelance software ontwikkelaar is even geschikt. Je zoekt niet alleen een ervaren ontwikkelaar, maar ook een architect met goede communicatieve vaardigheden.

Hopelijk neemt dit wat van je twijfel weg, de volgende keer als je een freelancer vindt die je klus kan klaren.

Of ik dat nou ben, of een ander ;).

Bekijk mijn diensten