Over iQuipu

Filosofie van iQuipu

Planten groeien, software wordt ontwikkeld. Dat lijkt een vanzelfsprekende waarheid. En toch hebben velen het idee dat ook software groeit. Dat je, om software te laten ‘groeien’ het alleen regelmatig water hoeft te geven en zo nu en dan moet bemesten. Of, anders gezegd, dat software wel ontstaat als je er maar regelmatig zomaar wat mensen aan laat werken en er zo nu en dan wat geld in stopt. In mijn overtuiging werkt dat echter niet zo.

Software wordt ontwikkeld net zoals torenflats worden gebouwd. Beiden zijn het resultaat van het vakmanschap van ingenieurs. Niemand zal het accepteren als een torenflat na 4 keer over budget gegaan te zijn ook nog onbewoonbaar blijkt; en niemand zou ook moeten accepteren dat softwareprojecten 4 keer te lang duren en aan het eind iets opleveren waar in de praktijk niet mee valt te werken.

De iQuipu filosofie is samen te vatten in drie woorden: Solid Software Engineering. Elk woord vertegenwoordigt een aspect van de filosofie:

  • Solid: Het maken van software vereist solide vakmanschap en een solide aanpak. Er zou niets ongrijpbaars, niets abstracts aan het maken van software moeten zijn. Het is geen magie, maar ‘solid engineering’. In de IT wordt de afkorting SOLID daarnaast gebruikt om de belangrijkste kwaliteitskenmerken van moderne software mee aan te duiden.
  • Software: Computers hebben intructies nodig om ze te vertellen wat ze moeten doen. Die instructies worden door de software gegeven. In de dagelijkse omgang met software krijgen veel mensen echter de indruk dat ze software niet de computer, maar de mensen erachter instructies geeft. Dat is natuurlijk niet de bedoeling. Software is een hulpmiddel en is er om te dienen, niet om gediend te worden.
  • Engineering: Het maken van software is vakwerk, net als het bouwen van een flat en het leggen van een weg. Alleen met voldoende kennis en ervaring kunnen goede resultaten worden bereikt. Het ontwikkelproces is een belangrijk criterium voor succes: software maak je niet door maar wat te doen, maar door bewezen methodes te gebruiken. Ik zelf ben een voorstander van Agile ontwikkelen: een aanpak die aansluit bij de beroepspraktijk, bewezen effectief is en maximale ruimte voor ondernemen en creativiteit biedt zonder kwaliteitsverlies.