Podcast - Next.js
Tijdens deze speciale aflevering met videobeeld bespreken we Next.js, een javascript framwork.
Wat als de open source-website die je gebruikt net niet biedt wat je zoekt? En tussen alle modules, plug-ins, components en widgets kun je niet de functionaliteit vinden die je nodig hebt? Dan kun je wachten tot de open source-community een oplossing voor je ontwikkelt en test, of je kunt zelf een uitbreiding laten maken. Maar wat zijn hiervan de consequenties? Met andere woorden: wat zijn de voor- en nadelen van maatwerk integreren in je open source-website?
Je kunt helemaal naar wens een eigen stukje functionaliteit laten maken. Of het nu gaat om een koppeling tussen je website met een extern systeem, of om een productconfigurator zodat bezoekers op je website zelf een product kunnen samenstellen.
De maatwerkoplossing die je krijgt is specifiek voor jouw doeleinden geprogrammeerd. Hierdoor ziet de functionaliteit er qua beheer vaak simpel uit want je zit niet opgescheept met functionaliteiten die je toch nooit gebruikt.
Nog een voordeel is dat je de functionaliteit na de ontwikkeling meteen kunt gaan gebruiken. Bij open source-techniek zie je dat de ontwikkelaar vaak de techniek nog maandenlang in beta- of developmentmode laat om alle bugs eruit te halen. Daarnaast kan het zijn dat een ontwikkelaar hier niet al te veel tijd voor heeft en dat dit proces soms te lang op zich laat wachten.
Het voornaamste is dat het geld kost. Natuurlijk kost het ook geld wanneer je een website laat bouwen op basis van open source-software, maar dan betaal je alleen voor design, configuratie en eventueel de ontwikkeling van een template.
Iets laten programmeren is meestal duur. Ga maar na: een gemiddelde programmeur kost € 51,- ex. btw. Een vrij simpele functionaliteit is binnen een dag gemaakt, maar wordt het een beetje ingewikkelder dan is het niet gek dat je een week bezig bent met programmeren. Tel daarbij op de besprekingen en communicatie met de opdrachtgever, de test en bugfixing-periode, en je zit zo op twee weken. 80x51= € 4.080,- ex. btw.
Naast de initiële investering moet je ook rekening houden met onderhoudskosten. Net als alle andere software moet jouw maatwerkonderdeel worden onderhouden. Software werkt namelijk op een server, wordt geladen via browsers en werkt samen met andere onderdelen van je website zoals het cms zelf en andere plug-ins of modules. Deze zijn allemaal onderhevig aan verandering, en afhankelijk daarvan moet jouw maatwerk mee veranderen.
Een ander nadeel is dat je naast afnemer en gebruiker ook betatester bent geworden. Een hoop van het testwerk wordt gedaan door de open source-community. Dit gebeurt, als het goed is, heel open en transparant waarbij problemen worden gemeld en door de maker van de module of plug-in worden verholpen. Dit zijn bijvoorbeeld de openstaande problemen bij de meest gebruikte WYSIWYG-editor voor Drupal.
Blijf op de hoogte van internetontwikkelingen en meld je aan op onze nieuwsbrief
De programmeur van de maatwerkoplossing kan natuurlijk ook zelf bugtesten, maar er zijn, afhankelijk van de functionaliteit, vaak te veel variaties om te testen. Daarom is het een goed gebruik dat de programmeur de functionaliteit test en er een bugfixing-periode wordt afgesproken. Na deze periode valt het repareren van bugs onder onderhoudskosten.
Maatwerk zorgt ervoor dat je afhankelijk wordt. Er is niemand die jouw maatwerkfunctionaliteit beter begrijpt dan de programmeur die het gemaakt heeft. En een andere programmeur verder laten werken aan een stuk maatwerk heeft als consequentie dat die programmeur zich moet inwerken, wat meer geld kost. Daarnaast zijn er ook een hoop verschillen in programmeurs. De een werkt rommelig, de ander heel secuur. De ene kiest voor een omslachtige oplossing, de ander denkt meer in simpel en elegant. Het is als leek moeilijk te beoordelen of een maatwerkoplossing nu goed is of niet. In de praktijk is een opdrachtgever tevreden zolang het werkt en zijn er pas bedenkingen als de functionaliteit er mee op houdt en een second opinion met kreten als ‘spaghettibende’ aangeeft dat het niet helemaal goed in elkaar zit.
Probeer eerst een klein project met de ontwikkelaar die je gaat gebruiken. Desnoods een analyse van een huidig project of betaald advies voor een nieuw project. Het gaat erom dat je kunt testen of de partij waarmee je in zee gaat daadwerkelijk levert wat er wordt afgesproken.
Iets op maat laten ontwikkelen kost vaak veel geld en tijd, daarnaast zit je ook na oplevering vast aan deze partij voor bugfixing of doorontwikkeling.
Ga je eenmaal over tot het geven van de opdracht, zorg er dan voor dat je duidelijke afspraken maakt en dat die in een offerte staan. Pas wanneer je het zwart op wit hebt, kun je er vanuit gaan dat het ook zo gebeurt.
Heb je vragen of een reactie naar aanleiding van dit artikel? Ik lees en beantwoord ze graag in het reactiegedeelte onderaan dit artikel.
Wij delen graag de kennis die we in huis hebben
Stel nu dat het maatwerk een (gesloten source) module is, die bovenop de open source cms komt. Vaak zie je complete MVC web apps worden geintegreerd in het CMS. Is de betreffende web app dan ineens ook open source of kan daar wel auteursrecht op worden uitgeoefend?
Stel nu dat het maatwerk een (gesloten source) module is, die bovenop de open source cms komt. Vaak zie je complete MVC web apps worden geintegreerd in het CMS. Is de betreffende web app dan ineens ook open source of kan daar wel auteursrecht op worden uitgeoefend?