Kennis Blogs Een software audit: Wanneer en waarom?

Een software audit: Wanneer en waarom?

Soms kan het voorkomen dat er, als gevolg van hooggespannen verwachtingen of veranderende marktomstandigheden, noodzaak ontstaat om eens kritisch te kijken naar de staat van een softwareproduct. Het is dan raadzaam om analytisch en objectief te kijken naar zaken als de codekwaliteit, kwaliteit van de architectuur, schaalbaarheid of het softwareontwikkelproces. 

 

Onze audit-experts hebben uitgebreide ervaring in het uitvoeren van audits, maar ook hands-on en in-depth ervaring in het bouwen en het verder uitbouwen van draaiende softwaresystemen. Bij een audit wordt er, naast de kwaliteit van het huidige systeem c.q. proces ten opzichte van gerelateerde marktpartijen, ook inhoudelijk gekeken naar hoe de zaken nu echt in elkaar steken.


Een kort interview met onze audit-expert Robin 

 

Bij wat voor soort problemen is het raadzaam om een audit uit te laten voeren?

Er zijn verschillende scenario's waarbij een bedrijf baat kan hebben bij een audit. Een audit biedt bijvoorbeeld uitkomst wanneer je een belangrijke stap wilt nemen met je bedrijf en in kaart wilt brengen wat mogelijke probleemgebieden zijn, of als je twijfels hebt over de toekomstbestendigheid van je software. Daarnaast fungeert een audit ook als een betrouwbare periodieke controle, een soort health check. Ook kan een audit een second opinion bieden als je niet 100% zeker bent over het product dat je geleverd is.

 

Naar welke aspecten kijk je wanneer je een audit uitvoert?

Een audit kan op in ieder geval 3 vlakken uitgevoerd worden:

  • Een code audit. Hierbij kijken we puur naar de code. We halen dan de code niet simpelweg door een programma of tooling heen, we kijken zelf als experts naar de code. We richten ons hierbij bijvoorbeeld op de toekomstbestendigheid van gebruike libraries, of hoe actueel zaken nog zijn. Ook kijken we of er geen vreemde codekeuzes zijn gemaakt en onderzoeken we de testbaarheid en onderhoudbaarheid van de code
  • Een audit op architectuurniveau. Hierbij onderzoeken we de performance, de schaalbaarheid en of de architectuur klaar is voor de toekomstwensen
  • Een proces audit, waarbij we vooral kijken naar de processen. Welk proces wordt er doorlopen om jouw software te maken, te deployen en te onderhouden? Zijn de requirements duidelijk? En, hoe komen de taken tot stand en wie bepaalt deze taken? Liggen de verantwoordelijkheden op de juiste plek?

 

Welk verschil kan een goede audit maken?

Een goed uitgevoerde audit biedt zekerheid en oplossingen. Bedrijven waar wij een audit voor uitvoeren zijn op zoek naar antwoorden. Bijvoorbeeld omdat ze zijn vastgelopen bij de realisatie van hun product of omdat ze twijfels hebben of ze met de huidige aanpak de doelstellingen gaan halen. Een goed uitgevoerde audit geeft in ieder geval antwoorden op de juiste vragen. Bijvoorbeeld antwoord op vragen als: "hoe kan ik er voor zorgen dat er zo min mogelijk miscommunicatie is omtrent de inhoud van een bepaalde feature" of "de configuratie van de applicatie wordt nu voor elke klant gekopieerd en bij hen op locatie neergezet en dit leidt tot configuratiefouten, hoe kan ik dat oplossen?". Maar ook vragen als "Hoe is de kwaliteit van mijn software?", "Is mijn IT-omgeving optimaal beveiligd?" of "Is mijn IT-omgeving klaar voor de toekomst?" kunnen worden beantwoord door een audit. 

 

Wat kan een bedrijf na afloop met de resultaten van een audit?

We willen altijd van toegevoegde waarde zijn voor onze klanten. Daarom is het voor ons van groot belang dat onze audit de klant ook echt op weg helpt. Na de audit presenteren wij daarom concrete werkbare aanbevelingen die de klant direct kan oppakken ter verbetering. We gaan voor handvatten waar het bedrijf bij wijze van spreken de volgende dag al wat mee kan. Met andere woorden, naast constateren en rapporteren zetten we dit ook om naar concrete punten en uitvoerbare taken. Avisi kan deze taken in orde maken, maar dat is niet de opzet. We presenteren het zo dat de klant er voor kan kiezen om deze punten zelf op te pakken of het door een andere partij te laten uitvoeren.