Veel SaaS-ondernemers zijn bekend met ISO 27001 en ISO 9001, maar de ISO 25010 is nog relatief onbekend. Dit is een gemiste kans, want bij de verkoop van een SaaS bedrijf dient deze internationale norm vaak als leidraad voor het technisch due diligence. In dit blog geven we je daarom een samenvatting van de belangrijkste elementen van de ISO 25010. Op deze manier kun je jezelf goed voorbereiden richting een bedrijfsverkoop.
In het kort is ISO 25010 een norm die een gestructureerd raamwerk biedt voor het beoordelen van softwarekwaliteit. De norm omvat acht hoofdkenmerken en een lijst met subkenmerken en criteria. Dit maakt ISO 25010 een waardevol hulpmiddel voor softwarebedrijven die streven naar hoogwaardige softwareontwikkeling.
"De norm helpt bij het evalueren en verbeteren van softwareproducten, en bij bedrijfsverkoop wordt deze door de koper gebruikt om een gefundeerd beeld te krijgen van de software."
De belangrijkste gebruikers van ISO 25010 zijn technologie- en softwareontwikkelingsbedrijven, maar ook (internationale) overheidsinstellingen en financiële sectorbedrijven hanteren deze norm. De acht hoofdkenmerken zijn: functionele geschiktheid, betrouwbaarheid, efficiëntie, bruikbaarheid, beveiligbaarheid, onderhoudbaarheid, overdraagbaarheid en compatibiliteit. Later in dit blog gaan we dieper in op deze verschillende componenten.
Belangrijk om te vermelden is dat je jouw softwarebedrijf niet per se hoeft te certificeren op basis van ISO 25010. Er zijn weinig bedrijven die dat daadwerkelijk hebben gedaan. Maar het is wel nuttig om met behulp van de norm verbeterpunten te identificeren. Vooral richting de verkoop van je bedrijf kan investeren in deze verbeteringen waarde toevoegen en een korting op de ondernemingswaarde voorkomen.
"Kan onze software de ISO 25010-norm doorstaan?" Dit is een vraag die je aan je ontwikkelingsteam moet stellen als je van plan bent je SaaS-bedrijf te verkopen. Kopers zullen namelijk deze vraag aan hun specialisten stellen tijdens technisch due diligence. Daarom is het verstandig om ISO 25010 te gebruiken bij het gereedmaken van je SaaS-bedrijf voor verkoop. Het kan zelfs nog beter zijn om een externe partij hiervoor in te huren. Immers, een slager keurt (als het goed is) niet zijn eigen vlees!
"Voorbeelden van tests die je door een externe partij kunt laten uitvoeren zijn penetratietests en code-reviews."
Als je van plan bent je softwarebedrijf te verkopen, voer dan het liefst minimaal één jaar voorafgaand aan het verkoopproces een ISO 25010-check uit. Op die manier heb je voldoende tijd om eventuele tekortkomingen aan te pakken en je bedrijf verkoopklaar te maken. Bovendien geeft het kopers vertrouwen als ze zien dat je actief stappen hebt ondernomen om je software naar een hoger niveau te tillen. Deel dus zeker de resultaten van de eerdere analyse met de koper.
Je hoeft je softwarebedrijf dus niet per se te certificeren volgens ISO 25010, maar het is wel verstandig om de principes van de norm zo vroeg mogelijk toe te passen. Zelfs in de startupfase kun je je ontwikkelingsteam inspireren om de richtlijnen van ISO 25010 te volgen. De inzet van een codestandaard, het vastleggen van documentatie rondom achterliggende business logica en het uitvoeren van codereviews zijn hier eenvoudige voorbeelden van. Maar ook het jaarlijks uitvoeren van Pentesten, een UX designer aan het werk zetten voor de usability van de software of het actief monitoren van de systeemperformance; het zijn allemaal voorbeelden van activiteiten die je nu al kunt inzetten.
Succesvolle softwarebedrijven zorgen dat iedereen, van de CTO tot de developers, in ieder geval de principes van de ISO 25010 kent. Daarbij is het waardevol om hier aandacht aan te blijven besteden, zonder daarin door te slaan. ISO kan namelijk ook erg verstikkend werken als het tot de letter wordt gevolgd. En dat is zeker niet het doel! Zonder kleerscheuren door een technisch due diligence komen, dat is waar het om draait.
Vaak laat een koper het technisch due diligence onderzoek uitvoeren door een externe specialist. Dit zijn doorgaans gespecialiseerde adviesbureaus die penetratietesten, codechecks, performancetests en andere elementen gerelateerd aan ISO 25010 uitvoeren.
"Ze kijken echter vaak niet alleen naar de software, maar ook naar het ontwikkelingsproces en de documentatie. Beschik je bijvoorbeeld over procesdocumentatie, testscripts of een set geautomatiseerde regressietests?"
Al deze elementen dragen bij aan het opbouwen van vertrouwen in jouw product en de manier waarop het tot stand is gekomen.
Het is echter belangrijk op te merken dat niet alle kopers bereid zullen zijn om een externe partij in te schakelen. In dat geval is het essentieel om het risico te evalueren dat dit met zich meebrengt. Vooral bij concurrenten of strategische partners kan dit als een ‘red flag’ worden beschouwd. Je wilt immers niet zonder meer bedrijfsgevoelige informatie delen met dergelijke partijen. Zorg daarom voor volledige geheimhouding met de uitvoerende partij en zorg ervoor dat de koper alleen toegang heeft tot het eindrapport. Professionele partijen hebben vaak standaardprocedures waarbij ontvangen informatie direct na het onderzoek wordt verwijderd.
Afhankelijk van de resultaten van de ISO 25010-beoordelingen zullen er ook verschillende juridische aspecten in de overnamecontracten worden opgenomen. Hierbij kan gedacht worden aan garanties met betrekking tot intellectueel eigendom (IP). In twee recente deals die wij hebben begeleid, moesten de oprichters, die tevens de rol van ontwikkelaar vervulden, specifieke afspraken maken met betrekking tot intellectueel eigendom en intellectuele eigendomsrechten (IE). Het betreft hier overigens niet uitsluitend de software, maar heeft een bredere reikwijdte. Hierbij een voorbeeld:
Bovenstaande uitwerking wordt gedaan om ervoor te zorgen dat de aangekochte technologie expliciet eigendom wordt van het bedrijf. Andere relevante juridische aspecten zijn garanties met betrekking tot datalekken - dat deze zich nooit hebben voorgedaan - en het naleven van GDPR-richtlijnen. Hierbij twee voorbeeldbepalingen waar je aan moet denken:
Om juridische complicaties te voorkomen, is het verstandig om niet verrast te worden tijdens een technisch due diligence. Laat je team dit blog eerder lezen en onderzoek waar er mogelijkheden tot verbetering liggen. Op deze manier kun je goed voorbereid zijn op dit aspect van het due diligence-proces.
Nu je weet hoe de ISO 25010 een rol speelt in het verkoopproces, nemen we je graag nog mee in de individuele componenten van de ISO25010. Het is daarbij belangrijk te beseffen dat er onderscheid is tussen de productkwaliteit en de kwaliteit tijdens het gebruik. Laten we met het eerste beginnen. Productkwaliteit verwijst naar de algemene waarde en het niveau van uitmuntendheid van een softwareproduct. Het is belangrijk om te begrijpen dat productkwaliteit verschillende dimensies omvat, zoals geschiktheid, prestatie-efficiëntie, bruikbaarheid en meer. Het uiteindelijke doel is om software te leveren die aan de verwachtingen van de gebruikers voldoet en hun tevredenheid bevordert.
Voorbeeld: Stel je voor dat je een webshop ontwikkelt. Productkwaliteit betekent dat de website correct functioneert (geen fouten heeft), snel laadt, gemakkelijk te navigeren is, veilig is voor transacties en aan de verwachtingen van de klanten voldoet.
Geschiktheid verwijst naar de mate waarin een softwareproduct voldoet aan de specifieke behoeften van de gebruikers en de beoogde doelen. Stel jezelf eens de vraag in welke mate de software de pijn van je doelgroep oplost? Niet voor niets hebben succesvolle SaaS bedrijven een product owner en nauwe banden met hun gebruikers. Ze streven er op die manier naar om alle noodzakelijke functies en eigenschappen te bieden om aan de behoeften te voldoen. Let echter op dat je niet doorslaat.
"Bij de verkoop van een bedrijf is maatwerk software minder waardevol dan standaard software. Dit heeft alles te maken met de schaalbaarheid van je product. Meer schaalbaarheid spreekt een koper aan."
Nog even een voorbeeld t.a.v. het onderwerp geschiktheid: Boekhoudsoftware moet geschikt zijn voor het beheer van financiële gegevens, inclusief functies voor het invoeren van transacties, het genereren van financiële overzichten en het rapporteren van belastinginformatie.
Prestatie-efficiëntie heeft betrekking op de snelheid, schaalbaarheid en efficiëntie van de software bij het verwerken van gegevens en het uitvoeren van taken. Performancetesten kunnen helpen om de mate van prestatie-efficiëntie te bepalen. Het gaat erom dat de software taken snel en zonder overmatig gebruik van middelen uitvoert. Ook code-reviews helpen daarbij, maar daar komen we later op terug.
Voorbeeld: Een mobiele app moet snel reageren op gebruikersinteracties, zelfs op oudere apparaten, en mag niet veel batterij of data verbruiken om een positieve gebruikerservaring te bieden.
Uitwisselbaarheid verwijst naar de mogelijkheid om gegevens en instellingen van de ene softwareomgeving naar de andere over te dragen zonder verlies van functionaliteit of gegevens. Zeker de introductie van API’s heeft hier natuurlijk een enorme boost aan gegeven. Aan de ene kant brengt dit iets moois, maar aan de andere kant heeft dit natuurlijk ook risico’s op het gebied van veiligheid. Gelukkig komt ook dat onderwerp nog aan bod. Uitwisselbaarheid gaat echter verder dan koppelingen. Denk bijvoorbeeld aan een tekstverwerkingsprogramma dat documenten moet kunnen importeren en exporteren in verschillende bestandsindelingen, zoals PDF, Word, en plain text, zodat gebruikers gemakkelijk kunnen samenwerken en informatie delen met anderen.
Dit onderwerp heeft alles te maken met UX (User Experience). Het speelt namelijk een cruciale rol bij het verbeteren van de productkwaliteit, vooral wat betreft de bruikbaarheid en geschiktheid van een softwareproduct. Het ligt ook dicht bij een andere belangrijke metric voor SaaS bedrijven, namelijk de Daily Active Users (DAU).
"Bruikbaarheid verwijst naar de mate waarin een softwareproduct gemakkelijk te begrijpen en te gebruiken is voor de beoogde gebruikers."
Het omvat aspecten zoals gebruiksvriendelijkheid, duidelijke gebruikersinterfaces en efficiënte workflows. UX designers zijn daarmee verantwoordelijk voor het creëren van interfaces die gemakkelijk te begrijpen en te gebruiken zijn voor de eindgebruikers. Ze richten zich op het ontwerpen van intuïtieve navigatie, het minimaliseren van cognitieve belasting en het optimaliseren van workflows. Door een hoge mate van bruikbaarheid te bereiken, draagt UX design bij aan het voldoen aan de bruikbaarheidseisen volgens ISO 25010. Voorbeeld: Een sociale media-app moet een intuïtieve gebruikersinterface hebben die gebruikers – jong en oud – in staat stelt om gemakkelijk berichten te plaatsen, foto's te delen en met anderen in contact te komen zonder veel training of moeite.
Betrouwbaarheid heeft betrekking op de stabiliteit en fouttolerantie van een softwareproduct. Het verwijst naar de mate waarin de software correct blijft werken, zelfs in ongewone situaties of onder zware belasting. Mijn eerste bedrijf was een softwaretest-bedrijf dat ik op mijn 31ste verkocht. Ik leerde mijn mensen om verder te denken dan de happy flow, maar juist alternatieve paden op te zoeken. Het uitwerken van een volledige test-set is daarom cruciaal. Hoewel betrouwbaarheid voornamelijk afhangt van de software-engineering en infrastructuur, kan ook UX design bijdragen door foutmeldingen en feedback aan gebruikers te ontwerpen. Dit helpt gebruikers te begrijpen wat er mis is wanneer er zich problemen voordoen.
Voorbeeld: Een vliegtuigbesturingssysteem moet buitengewoon betrouwbaar zijn om de veiligheid van passagiers te waarborgen. Het mag geen kritieke fouten vertonen, zelfs niet onder extreme omstandigheden.
Tegenwoordig kijkt een koper steeds kritischer naar het onderwerp veiligheid. In contracten, zoals de Share Purchase Agreement, is vaak een apart hoofdstuk gewijd aan dit onderwerp. Je moet daarbij garanties verstrekken dat er geen datalekken zijn geweest, dat je maatregelen hebt genomen om dit tegen te gaan en dat persoonsgebonden data correct verwerkt wordt. Kortom, veiligheid verwijst naar de bescherming van de software tegen ongeautoriseerde toegang, gegevensinbreuken en schadelijke activiteiten.
"Het omvat het implementeren van maatregelen om de vertrouwelijkheid, integriteit en beschikbaarheid van gegevens te waarborgen."
Juist omdat het zo’n belangrijk element is gaan we graag nog even wat dieper in op de veiligheid in softwareproducten:
In essentie dragen zowel penetratietesten als ethisch hacken bij aan het waarborgen van de veiligheid van softwareproducten. Ze helpen SaaS bedrijven om proactief kwetsbaarheden op te sporen en te verhelpen, wat uiteindelijk bijdraagt aan een hogere mate van productkwaliteit en vertrouwen bij gebruikers en klanten. Het is belangrijk om dergelijke beveiligingspraktijken op te nemen in de ontwikkelingscyclus om potentiële beveiligingsrisico's te minimaliseren. Kun je dit richting een koper etaleren dan scoor je zeker pluspunten!
Stel een nieuwe ontwikkelaar start vandaag binnen jouw bedrijf? Hoe snel is deze persoon dan, los van eventuele branche-specifieke kennis, up-and-running? In veel gevallen werkt een groep ontwikkelaars al jaren aan een bepaalde applicatie. In het begin ging dat via codestandaard A en later werd dat codestandaard B. Daarnaast hanteert ontwikkelaar X de standaard vele malen beter dan ontwikkelaar Y. Kortom, de onderhoudbaarheid laat regelmatig te wensen over. Samengevat heeft onderhoudbaarheid betrekking op de mate waarin een softwareproduct gemakkelijk kan worden aangepast, gerepareerd en verbeterd. Dit omvat het schrijven van schone, goed gedocumenteerde code en het gebruik van goede ontwikkelingspraktijken.
Overdraagbaarheid verwijst naar de mogelijkheid om een softwareproduct van het ene platform naar het andere te verplaatsen zonder aanzienlijke aanpassingen. Het omvat het vermogen van de software om te functioneren op verschillende hardware- en softwareomgevingen. Hier zijn enkele belangrijke overwegingen met betrekking tot overdraagbaarheid:
Voorbeeld: Stel je voor dat je een webapplicatie ontwikkelt voor het beheren van klantgegevens. Om overdraagbaarheid te garanderen, moet je ervoor zorgen dat de applicatie werkt in verschillende webbrowsers, zoals Google Chrome, Mozilla Firefox, Safari en Microsoft Edge. Bovendien moet de applicatie schaalbaar zijn, zodat deze soepel kan worden gebruikt op zowel desktopcomputers als mobiele apparaten.
Kwaliteit tijdens gebruik verwijst naar de mate waarin een softwareproduct voldoet aan de verwachtingen en behoeften van gebruikers terwijl ze het daadwerkelijk gebruiken.
"Nu is kwaliteit tijdens gebruik niet iets waar veel kopers expliciet naar kijken tijdens de overname van een SaaS bedrijf. Ze worden enthousiaster van een hoge DAU metric!"
Dit onderdeel van de ISO 25010 is namelijk gericht op de prestaties en functionaliteit van de software in een echte operationele omgeving. Als onderdeel van kwaliteit tijdens gebruik zijn de volgende onderwerpen van belang:
Er is nog een hele rits aan andere elementen waaraan je kunt denken. Genoegen, welzijn, risicobeperking, omgevingscomplexiteit en matiging van bepaalde risico’s. Google vooral even op deze termen als je hier meer over wilt lezen. Voor nu hebben we je denk ik meer dan genoeg inspiratie gebracht rondom de ISO 25010. ;-)
© Anno1982 2024. Alle rechten voorbehouden.