Kwaliteitsstandaard

Kwaliteit is een abstract concept dat moeilijk inzichtelijk te krijgen is. Wel is het een prioriteit voor veel organisaties, waarbij software geen uitzondering is.

Om de randvoorwaarden van een kwaliteit product op te stellen, hebben wij een aantal meetbare kwaliteitswijzers opgesteld. De kwaliteitswijzers hebben een sterke onderlinge relatie, en worden bij onze software als primaire doelen gesteld.

Wij willen er graag op wijzen dat niet elke klant of product uit alle kwaliteitswijzers een gelijke meerwaarde haalt.
De beveiliging van een systeem is gevoelsmatig een belangrijk onderwerp, maar hoeft niet relevant te zijn voor veel producten.

Ook kan het op creatieve manieren worden gezocht naar oplossingen die hier niet worden behandeld.

Gebruikservaring

Aan de kern van kwaliteit denken wij aan de wensen van de klant. Hierbij is de gebruikservaring altijd nummer één.

Om de gebruikservaring te verbeteren, handhaven wij een aantal standaarden in onze ontwerpfase.
Iedere gebruikersgroep heeft andere wensen en eisen waaraan het systeem moet voldoen. Veel kant en klare oplossingen kunnen hier geen rekening mee houden om wille van complexiteit, snelheid en/of prijs.
Omdat wij écht passende oplossingen willen bieden, bouwen wij alleen maatwerk producten.

Snelheid

Software snelheid is een kwaliteit waar het minst in word geinvesteerd. Het is voor veel bedrijven en programmeurs een moeilijk concept om te begrijpen, en dus ook moeilijk om op te lossen.

Wij zien snelheid als een essentieel stuk kennis, waar vroeg in moet worden geinvesteerd. Daarom gebruiken en ondersteunen wij snelle Open Source software paketten zoals Vapor en MongoDB.

Voor de gebruiker is snelheid merkbaar in de gebruikservaring. Een hogere "snelheid" betekend minder zandlopers.
Echter, snelheid heeft meer voordelen dan dat, die vaak over het hoofd worden gezien.

Zo heeft snellere software minder dure hostingpaketten nodig om hetzelfde te bereiken.
Waar een website gebouwt op PHP 300 gebruikers kan helpen, kan eenzelfde systeem op Vapor en MongoDB dat met 30'000.

Ook zorgt snellere software voor een verhoogde resistentie tegen aanvallers. Een aanvaller moet, om de applicatie offline te halen, eenzelfde verhouding meer moeite doen. Dus dat is 100x meer moeite voor hetzelfde effect.
Daar waar een aanvaller meer moeite moet doen voor eenzelfde resultaat, zoeken er veel aanvallers liever naar een makkelijker doelwit.

Stabiliteit

Stabiliteit is grof gezegd, de hoeveelheid fouten die in het systeem optreden. Een "fout" hoeft niet een fout in het product te zijn.

Een hiervoorgenoemde "fout" is een lage resistentie tegen aanvallers. Andere vormen van fouten zijn onder andere "crashes" en programmeerfouten.

Crashes komen voor als een systeem (tijdelijk) uitvalt. Dit gebeurt vaak door een ingebouwde beveiliging, vaak in combinatie met een programmeerfout.

Programmeerfouten kunnen zijn ontstaan tijdens de ontwikkeling van een product, maar komen niet zelden voort na oplevering. Soms komt dit door een software update, en zo'n bug word vaak ook weer verholpen door een software update.

Andere programmeerfouten komen door (on)geluk voor na een langere periode zonder problemen, of een aanpassing aan het product.

Ook kan zo'n fout opduiken na gebruik van het systeem, waarbij een fout door de gebruiker word gemaakt. In deze gevallen zou het systeem de fout goed moeten afhandelen, maar is dat niet goed genoeg gebeurt.
Er zijn bijzonder veel manieren waarop fouten kunnen voorkomen. Gelukkig zijn er ook veel manieren waarop programmeurs preventief kunnen handelen.

Bij het ontwerp van Vapor, waar Autimatisering een rol in heeft gespeeld, is hier extra over na gedacht. Hiermee reduceren wij de frequentie en impact van programmeerfouten.

Beveliging

Beveiliging is een belangrijk concept voor elke applicatie. Wel is er een enorme diversiteit aan beveiligingen.
Zo kan tijdens de het programmeren preventief worden geprogrammeerd. Hierbij worden fouten voorkomen door extra beveiligingen in te bouwen. Hier heeft men het niet persé over het voorkomen van een datalek, maar van programmeerfouten.

Natuurlijk is het niet wenselijk als de homepagina word gehacked, gezien er dan een andere tekst staat dan de bedoeling is. Wel raden wij aan om het risico in deze gevallen met een korrel zout te nemen.

Data lekken voorkomen is belangrijk als er gevoelige informatie word verwerkt. Een van de beste manieren om een datalek te voorkomen is door geen standaard producten te gebruiken.

Wanneer een maatwerk product word afgeleverd zijn ook veel aspecten van de beveiliging maatwerk. Omdat dit niet een een-op-een kopie is van een bestaand (groot) product, is het niet mogelijk om bestaande lekken te vinden.

Er zijn veel voorbeelden van projecten zoals Wordpress waar een lek in word gevonden. Soms komen deze datalekken pas na vele jaren naar boven. In deze gevallen is het gebruik van een (oudere) versie van dit pakket al genoeg om kwetsbaar te zijn.

In deze gevallen gaan hackers actief op zoek naar kwetsbare websites om het lek te misbruiken.
De enige beveiliging hiertegen is om veel up-to-date te zijn met de technoligie, en updates (goed) uit te voeren.

Als laatste is het belangrijk om up-to-date beveiligingtechnieken te gebruiken.
Het is wel van kritiek belang om deze technieken juist toe te passen.

OpenSource

Om aan alle bovenstaande kwaliteitswijzers te voldoen, investeert Autimatisering actief in Open Source software. Hiermee kunnen wij onze efficientie te verhogen en de kosten te drukken.