Code review: weet wat je software echt waard is.

Je betaalt al jaren voor maatwerksoftware, maar weet je hoe het er onder de motorkap voor staat? Wij lezen de code door, draaien de applicatie en zetten op papier wat we vinden: hoe veilig het is, hoe betrouwbaar, of het nog jaren mee kan en of je bij de juiste partij zit. Onafhankelijk, met bewijs per bevinding en in taal die de directie ook snapt.

  • ✓Onafhankelijk oordeel, zonder verkooppraatje
  • ✓Beveiliging, betrouwbaarheid en toekomstbestendigheid
  • ✓Elke bevinding onderbouwd en geprioriteerd
  • ✓Rapport voor directie én ontwikkelaar
Stijn Hoksbergen en René Vrieling van Empathree aan het werk op hun laptop

Wanneer laat je je software reviewen?

Meestal is er een moment waarop het knaagt. Je hebt een systeem waar je bedrijf op draait, maar je kunt zelf niet beoordelen of het goed gebouwd is.

Je twijfelt aan je leverancier

De facturen lopen op, wijzigingen duren lang en je krijgt geen helder antwoord op de vraag hoe het er technisch voor staat.

Je bedrijf hangt ervan af

Orders, voorraad, facturen of klantdata lopen door dit systeem. Valt het om of lekt het, dan heb je een groot probleem.

Er komt een grote beslissing aan

Doorbouwen, overstappen naar een andere partij of opnieuw beginnen? Dat besluit je liever op basis van feiten dan op gevoel.

Je weet niet hoe veilig het is

Niemand heeft ooit met een kritische blik naar de beveiliging gekeken. Met de AVG en NIS2 wil je dat wel zeker weten.

De software is jaren oud

Het framework krijgt misschien geen updates meer en pakketten zijn verouderd. Je wilt weten hoeveel achterstand er is.

Je neemt software over

Bij een overname, investering of nieuwe leverancier wil je weten wat je precies in huis haalt.

Wat we onderzoeken

We kijken naar de code zelf en we draaien de applicatie. Per onderdeel beantwoorden we één heldere vraag.

Beveiliging

Kan iemand erbij die er niet hoort?

We zoeken naar lekken zoals pagina's zonder login, SQL-injectie, bestanden die je van buitenaf kunt uitlezen, wachtwoorden in de code en rechten die niet goed zijn afgeschermd.

Betrouwbaarheid

Doet het systeem wat het moet doen?

Bugs in de bedrijfslogica: dubbele of verkeerde nummers, boekingen die vastlopen, data die ongemerkt wordt afgekapt. Plus prestaties, zodat je weet of het trager wordt als je groeit.

Kwaliteit en tests

Kun je veilig wijzigen?

Zijn er geautomatiseerde tests, draait er een controle bij elke wijziging en is de code leesbaar voor een andere ontwikkelaar? Dat bepaalt hoe duur elke aanpassing wordt.

Versies en afhankelijkheden

Hoeveel achterstand is er?

We zetten elke gebruikte versie naast de nieuwste release: framework, programmeertaal en externe pakketten. Inclusief bekende kwetsbaarheden en pakketten zonder ondersteuning.

Toekomstbestendigheid

Kan dit nog jaren mee?

Is de architectuur logisch opgebouwd, kun je er AI en koppelingen op aansluiten en is het met een redelijke inspanning bij te werken? Of loop je over een paar jaar vast?

Leverancier en eigendom

Zit je bij de juiste partij?

Wie bezit de code, de hosting en de toegang? Hoe afhankelijk ben je van één persoon of bureau? En past wat je betaalt bij wat er is opgeleverd?

Wat je krijgt

Een rapport dat je kunt lezen zonder programmeur te zijn, met alle technische onderbouwing erachter voor wie het wil controleren.

  • ✓Een samenvatting voor de directie: het totaalrisico en wat de problemen betekenen voor je bedrijf
  • ✓Alle bevindingen met ernst (kritiek, hoog, middel, laag), de plek in de code en hoe we het hebben vastgesteld
  • ✓Een risicomatrix op kans en impact, zodat je ziet wat als eerste moet
  • ✓Een versiecheck van framework, taal en pakketten tegen de nieuwste releases
  • ✓Een advies over de route: doorbouwen, laten herstellen, van partij wisselen of vervangen
  • ✓Een toelichting in een gesprek, ook met je huidige leverancier als je dat wilt
Voorbeeld uit een recente review
ERP-systeem van een productiebedrijf
TotaalrisicoHoog
3
Kritiek
4
Hoog
7
Middel
7
Laag
Los deze eerst op
KritiekModuleroutes zijn bereikbaar zonder in te loggen
KritiekServerbestanden met wachtwoorden zijn van buitenaf uit te lezen
HoogSQL-injectie via een filter in het magazijnoverzicht

Geanonimiseerd. Naast deze beveiligingsbevindingen vonden we 44 functionele bugs en een framework zonder support meer.

Zo werkt een code review

Je hoeft weinig te doen. We hebben toegang tot de code nodig en, als het kan, een testomgeving.

1
Kennismaking en scope

We bespreken wat het systeem doet, waar je je zorgen over maakt en welke onderdelen we bekijken. Je krijgt vooraf een vaste prijs.

2
Toegang en geheimhouding

We tekenen een geheimhoudingsverklaring en krijgen leestoegang tot de repository. Je leverancier hoeft niets te merken, tenzij je dat zelf wilt.

3
Onderzoek

Handmatig code lezen, aangevuld met scans en analysetools, en de applicatie zelf draaien om te zien wat er in de praktijk gebeurt.

4
Rapport en gesprek

Je krijgt het rapport en we lopen het samen door. Daarna beslis jij wat je ermee doet.

Waarom een onafhankelijke review

Je huidige leverancier gaat zijn eigen werk zelden kritisch beoordelen. Wij hebben geen belang bij de uitkomst.

✓

Een objectief oordeel

We zeggen wat we zien, ook als de software goed in elkaar zit. Dan weet je dat je rustig verder kunt.

✓

Geen verplichte vervolgopdracht

Het rapport is van jou. Je kunt het bij je huidige partij neerleggen, bij ons of bij een derde.

✓

Bewijs per bevinding

Elke bevinding heeft een bestandsnaam, een regel en een uitleg. Je leverancier kan alles zelf nalopen.

✓

Gemaakt door bouwers

We bouwen zelf dagelijks maatwerksoftware in onder meer Laravel en Angular. We weten hoe het hoort en waar het meestal misgaat.

Veelgestelde vragen

Weten hoe je software ervoor staat?

Vertel ons kort om welk systeem het gaat en waar je over twijfelt. We komen bij je terug met een voorstel voor de scope en een vaste prijs.