Geld is een belangrijke afweging bij het laten ontwikkelen van software. Gaan kwaliteit en prijs doorgaans hand in hand, bij software ligt dat anders. Wil je bijvoorbeeld een webapplicatie laten bouwen of investeren in software, dan klopt dit vaak niet. Goede kwaliteit is bij software vaak goedkoper onder de streep.
Goede kwaliteit is overzichtelijk werken. Developers die werken aan goed gestructureerde software zijn productiever. Het is makkelijker om bijvoorbeeld maatwerksoftware te bouwen als alle code goed georganiseerd is. Op die manier kan een team goed samenwerken.
Goede kwaliteit is ook makkelijker updaten. Vaak weet je als klant niet precies wat je wil en kom je ook tijdens het bouwproces achter dat je dingen aan wilt passen. Dit is helemaal niet erg. Als je maatwerksoftware laat maken, is het normaal dat dit gebeurt. Echter, als de reeds gebouwde software niet van goede kwaliteit is, is dit wel een probleem.
Het is lastig om software die niet overzichtelijk is, aan te passen. Denk aan je bestek-la thuis. Als alles door elkaar ligt, kost het je tijd om te vinden wat je zoekt. Is het bestek goed georganiseerd, kun je alles direct vinden. En als je dan nieuw bestek wilt, kun je het makkelijk binnen je bestaande systeem kwijt.
Zo werkt het ook voor ontwikkelaars. Als zij bijvoorbeeld een webapplicatie ontwikkelen, is het handig dat zij precies weten waar alles staat. Hierdoor kunnen ze goed met de software werken en nieuwe dingen gemakkelijk opnemen in de software. Dit scheelt tijd en daardoor ook geld.
Verder maakt goede kwaliteit het mogelijk om fouten sneller te zien. Zit je software niet goed in elkaar, dan is het juist lastig om fouten te ontdekken. Developers die op een goede manier werken, hebben allerlei veiligheidsmaatregelen getroffen om dat zoveel mogelijk te voorkomen.
Ze doen constant tests om te zien of de software goed is. Mocht er een fout zijn gemaakt, is het ook veel makkelijker om die op te lossen. Ze hebben namelijk hun software ‘goed georganiseerd’.
En doordat fouten sneller gezien worden, zitten er minder fouten in het eindproduct. Er hoeven dan dus veel minder fouten opgelost te worden die zichtbaar worden bij gebruik. Hierdoor is de maatwerksoftware direct te gebruiken. Bovendien bespaar je kosten op het updaten van je software.
Tot slot is goede kwaliteit ook tijd besparen. Immers, alle bovenstaande redenen zorgen ervoor dat ontwikkelaars minder tijd hoeven te besteden. Dit is mooi voor het bedrijf dat maatwerksoftware maakt.
Ofwel, bedrijven die een app laten maken, maatwerksoftware laten bouwen of een webapplicatie laten ontwikkelen hebben een groot voordeel. Zij zijn minder geld kwijt aan het laten bouwen van software. Ook is de software die zij krijgen direct te gebruiken omdat die uitvoerig getest is.
Een ander groot voordeel is dat het makkelijk is om in de toekomst nieuwe features toe te voegen. Doordat je software goed georganiseerd, is kunnen developers snel begrijpen wat ze moeten doen. Hierdoor krijg je sneller en goedkoper updates voor jouw software.
Samengevat
Software van goede kwaliteit is niet alleen beter dan software van slechte kwaliteit – dûh – maar ook goedkoper. Maatwerksoftware die goed in elkaar zit, is makkelijker te bouwen. Ook zitten er minder fouten in de software en zijn de eenmaal gemaakte fouten makkelijker op te lossen. Daarnaast zijn updates van je software makkelijker en sneller toe te voegen.
Inderdaad, goede kwaliteit bij software is uiteindelijk goedkoper. Goede kwaliteit in brede zin zorgt niet alleen voor lagere kosten bij aanpassingen en uitbreidingen en van het beheer van de software. Het geldt ook voor de indirecte kosten bij de afnemer, door minder inspanning bij gebruikerstesten, minder tijdverlies door bugs bij gebruikers en eindgebruikers. De continuïteit bij overname van de productie van de software is beter geregeld. Goede software werkt vaak ook nog eens sneller. En zo zijn nog meer voordelen te benoemen.
Voordelen zijn er ook voor de leverancier. De te leveren inzet is bijvoorbeeld beter in te schatten. Er is minder trammelant met de opdrachtgever vanwege bugs en een grotere kans op vervolgopdrachten. Het is voor het eigen personeel ook veel prettiger om aan goede software te werken. Daardoor zijn er minder onderlinge frustraties en is er meer onderlinge waardering. Dit stimuleert de samenwerking, de kwaliteit en de productiviteit. En zo kan je als producent ook voorkomen om negatief in het nieuws te komen. Denk aan MRS voor SVB, 1-2 Focus voor Equihold, SPEER voor Defensie, De polisadministratie voor het UWV, waar Capgemini keer op keer negatief in het nieuws is gekomen. Voor bedrijven die fixed-price fixed-price moeten leveren, is kwaliteit uiteraard veel goedkoper.
Het is onbegrijpelijk dat softwarehuizen zo vaak matige tot zelfs slechte kwaliteit leveren. Dit gerommel is alleen goed voor de bonussen van managers die op het punt staan te vertrekken om te gaan zeilen en met omzetcijfers willen scoren terwijl ze nog even wat lijken in de kast wegstoppen. De uiteindelijke schade voor leverancier en opdrachtgever kan enorm oplopen.
Daarom dienen beide partijen vanaf het begin zich te richten op kwaliteit en constant de kwaliteit in de gaten te houden.
net zo lang op prijs afdingen tot de kwaliteit perfect is 😉
Slechte maar goedkope software met een korte lifecycle zoals een app die het kunstje doet wat op dat moment benodigd is kan heel hoog gewaardeerd worden, kwaliteit is een subjectief begrip als we kijken naar de factor prijs en tijd.
Snel en goedkoop is niet betrouwbaar terwijl snel en betrouwbaar niet goedkoop is zoals onlangs Boeing leerde met de iteratieve softwareontwikkeling voor Boeing 737 MAX. Fouten worden heel erg duur als je erop door blijft bouwen want ook de case 1-2 Focus voor Equihold ging uiteindelijk om een herhaling van dezelfde fouten door een offshoring naar India van het reversed engineering proces omdat er – snel en goedkoop – nog wat processen vergeten waren.
De kwaliteit van software neemt toe als je de verwachtingen ervan beter controleert, moet de code lang mee gaan dan is onderhoudbaarheid ervan een functionele eis welke geborgd moet worden in processen. Uiteindelijk moet iemand het bestek sorteren voor de juiste vakjes en een ander moet controleren of dit goed gedaan is. Dat laatste ging dus niet alleen bij Boeing mis, de discussie over het kerstdiner moet je niet voeren met de kalkoen maar de jager want zoals gezegd is de lifecycle van sommige software veel langer dan bedoeld.
Wat Dino zegt. Na het lezen van dit artikel kijken alle inkopers richting India.
zucht