De onderscheidende waarde van complexe hightech machines zit in toenemende mate in de software. Fouten daarin kunnen dan ook grote gevolgen hebben, zeker als ze pas bij de eindklant worden ontdekt. Het TiCS Framework van TIOBE maakt het gemakkelijk bugs al tijdens het schrijven van de code te detecteren en te verhelpen. En binnen de community van deze Eindhovense specialist delen deelnemers hun ervaringen met codeerwerk. Zo leren Philips, Thermo Fisher, ASML, Sioux, Wilo, NTS en andere bedrijven van elkaar. Om niet.
– ‘Het kleine Nederland ontleent zijn innovatieve kracht aan de open cultuur.’
– ‘Vanwege de gestegen kans op hacks is de check van software op security essentieel.’
– ‘Standaarden zorgen ervoor dat engineers elkaars programmeerwerk makkelijk kunnen lezen en aanpassen.’
– ‘Als wij de software in een Chinees product willen checken, mag dat niet in China gebeuren
‘De klant betaalt ons voor de check van de taal. Vervolgens kan onze hele community er gebruik van maken, om niet’
‘Het kleine Nederland ontleent zijn innovatieve kracht aan de open cultuur. Nederlanders realiseren zich dat ze elkaar nodig hebben. Wat wij als klein bedrijf doen voor de grote hightech bedrijven in deze regio, doen veel multinationals in andere regio’s veelal zelf, in de beslotenheid van een eigen afdeling. Dankzij die Nederlandse, open mentaliteit kunnen wij als kleine mkb’er werken voor een bedrijf als ASML. En ASML maakt, samen met Philips, Vanderlande en vele andere oem’ers en toeleveranciers, deel uit van onze community waarvan de leden elkaar, in alle openheid, versterken met hun competenties’, beschrijft Paul Jansen.
De community waar Jansen het over heeft, is een groep hightechbedrijven waarbinnen ervaringen met software worden gedeeld. Met als doel bugs in de codering op te sporen en te verhelpen, coderingsstandaarden te bewaken en te verbeteren, en de toegevoegde waarde van dat werk vrijelijk en kosteloos met elkaar te delen, zo schetst de ceo van het Eindhovense TIOBE Software in een gesprek waarvoor ook zoon en salesengineer Laurens is aangeschoven.
Eigen model
Paul Jansen is de onderneming – ‘specialized in assessing and tracking the quality of software’, zoals de website vermeldt – 23 jaar geleden gestart. Hij werkte toen voor Philips Natlab en had daar een model ontwikkeld om oude programmeertalen geautomatiseerd om te zetten in modernere. Maar de bureaucratische beperkingen van de grote onderneming begonnen te knellen, dus koos hij voor de vrijheid van een eigen bedrijf. Met medeneming van zijn model. Dat bleek onvoldoende als businessmodel, omdat met dat vertaalwerk geen bestendige klantenrelaties konden worden opgebouwd. Dus ontwikkelde hij nog een model.
Dat werd een tool die softwareontwerpers in staat stelt gemakkelijk en eerder in het voortbrengingsproces fouten te ontdekken. Iets wat de klant heel veel kosten scheelt, rekent Jansen junior voor: ‘Als je een bug pas ontdekt als de machine al in het veld bij de eindklant staat, kost het repareren daarvan 600 keer meer dan wanneer je de fouten kunt verhelpen tijdens de ontwikkeling. En dan heb ik het alleen nog maar over de reparatiekosten, niet over de dure inzet van testmachines en al helemaal niet over de kosten van stilstand.’ Een uur stilstand van de DUV-chipmachine kost al gauw meer dan 70.000 euro, zo blijkt uit informatie van ASML.
Acht kwaliteitskenmerken
De impact van softwarefouten wordt geleidelijk aan groter omdat de onderscheidende waarde van machines tegenwoordig steeds meer ook in de software zit. ‘Veel machines die in de Brainport-regio worden gebouwd, bevatten de nodige innovatieve mechatronica en hardware, maar het accent van de innovatie verschuift steeds meer naar de software. Ontwikkelfouten schuilen dus ook daarin en dan is een vroege check van steeds groter belang’, stelt Jansen senior. ‘Uit onderzoek dat we hebben laten uitvoeren blijkt dat 10 tot 15 procent van de softwarefouten die pas in het veld aan het licht komen, met onze oplossing voorkomen had kunnen worden.’
‘De klant betaalt ons voor de check van de taal. Vervolgens kan onze hele community er gebruik van maken, om niet’
Die oplossing duiden vader en zoon met TiCS Framework. Deze analysetool controleert software aan de hand van de acht kwaliteitskenmerken van de ISO 25010-standaard: geschiktheid, prestatie-efficiency, uitwisselbaarheid, bruikbaarheid, betrouwbaarheid, security, onderhoudbaarheid en overdraagbaarheid. ‘Reliability en maintainability wegen zwaar’, definieert Laurens Jansen. ‘Onze software checkt dus onder meer hoe makkelijk het is om de codering aan te passen als dat nodig blijkt.’ Jansen senior vult aan: ‘En met het steeds meer verbonden raken van machines stijgt de kans op hacks en dus is de check van software op security de laatste jaren essentieel geworden.’
Tolpoortje
De acht deelstandaarden beschrijven in feite hoe je moet programmeren om bijvoorbeeld de onderhoudbaarheid van de code te optimaliseren. ‘Net als in het Groene Boekje staat daarin in detail beschreven hoe je correct schrijft in een bepaalde taal’, verduidelijkt Paul Jansen. Software wordt geschreven in diverse talen waarvan C, C++, C#, Python en Java de meest wijdverbreide zijn. ‘Die standaarden zorgen ervoor dat engineers, vertrouwd met bijvoorbeeld C++, elkaars programmeerwerk makkelijk kunnen lezen en waar nodig kunnen aanpassen.’
‘In de hightech machinebouw wordt veel software geschreven door natuurkundigen’, vervolgt Jansen junior. ‘Want die doorgronden het beste de fysische processen in de machine die ze ontwerpen. Het zijn echter niet per se de beste schrijvers. Als je ze hun gang laat gaan, zetten ze 10.000 regels code op één pagina, vergelijkbaar met een heel lange zin. Voor henzelf leesbaar, maar niet voor een software-engineer als die er later een fout uit moet halen.’ En vaak blijken schrijvers zelf na verloop van tijd hun eigen code ook niet meer te kunnen doorgronden. ‘Dus fungeren de standaarden in ons analyse-framework als een soort tolpoortje: bij een te lange zin komt het programmeerwerk er niet door.’
Door hoepels springen
Niet alle onderdelen van het TiCS Framework maakt TIOBE zelf. De securitytool bijvoorbeeld betrekt het bedrijf van een Amerikaanse leverancier. Want dat scheelt mankracht. Waarbij beide heren wel meteen opmerken dat, in de steeds meer protectionistische wereld van vandaag de dag, het gebruik van Amerikaanse software hen dwingt ‘door allerlei hoepels te springen’. ‘Als wij met die tool de software in een Chinees product willen checken, mag dat niet in China gebeuren. Een Chinese klant moet eerst zijn software naar ons uploaden zodat we die hier kunnen controleren, op een server binnen de grenzen van de Europa’, verzucht Jansen junior.
Maar meestal is het minder ingewikkeld, wat TIOBE in staat stelt wereldwijd en 24/7 de software te controleren van zo’n 8.000 systemen in ontwikkeling. Systemen van bedrijven die deel uitmaken van de community. ‘Zo heeft een grote klant recentelijk een nieuwe programmeertaal in gebruik genomen voor het omzetten van wiskundige formules’, illustreert Paul. ‘Omdat ze het helemaal gehad hadden met de weinig innovatieve oplossing van een nauwelijks veranderingsbereide Amerikaanse leverancier. Die klant heeft ons gevraagd de taal op de acht standaarden te controleren. En dan bewijst onze closed open source community zijn nut.’
Meetings
‘Deze klant betaalt ons voor de check. En vervolgens kan iedereen in onze community gebruikmaken van de taal, om niet. Want gebruik ervan brengt fouten aan het licht en daardoor wordt de software steeds beter. De IP is voor ons, maar onze leden hoeven daar niet voor te betalen. Die betalen alleen een jaarlijkse licentie per miljoen regels code’, promoot Paul Jansen.
Die fouten worden aan de orde gesteld in verschillende overleggen die TIOBE organiseert. Zo worden problemen met codeerwerk met de meeste klanten minstens één keer per maand zorgvuldig besproken, om zo de standaarden te verbeteren. Uiteindelijk mondt dit uit in verbeteringen in de diverse ‘Groene Boekjes’ waarmee alle communityleden hun voordeel kunnen doen, aldus de TIOBE-ceo.
Arbeidsmarktkrapte
Zo zorgen de aangesloten bedrijven samen voor verbeteringen in de software die ze onderling uitwisselen. Dat maakt het werk van hun softwarebouwers efficiënter en dat komt mooi uit omdat de vraag naar programmeurs toeneemt, maar het aanbod niet. Zeker niet in de Brainport. ‘Grote bedrijven hier verplaatsen dat codeerwerk dan maar naar landen als India en China. Maar de kwaliteit wordt daar bepaald niet beter van. Veel van dat werk komt niet door onze tolpoortjes heen’, constateert Laurens Jansen.
Dat terwijl de grote multinationals steeds hogere liability-eisen stellen, aldus Jansen senior: ‘Wij zijn ook actief voor de automotive waarin de risico’s van bugs de keten in worden gedrukt. Om te kunnen werken voor een grote Amerikaanse leverancier van controlesoftware voor in auto’s, hebben we onlangs een verzekering met een premie van 50.000 euro per jaar moeten afsluiten.’
1 miljard coderegels per dag
TIOBE Software is gespecialiseerd in het beoordelen en tracken van de kwaliteit van software. TIOBE, in 2000 opgericht door Paul Jansen, staat voor ‘The Importance Of Being Earnest’, naar de titel van een toneelstuk van Oscar Wilde Met de bedrijfsnaam wil de oprichter zijn ‘oprechte en professionele houding’ naar klanten, leveranciers en collega’s benadrukken.
De meeste werknemers van TIOBE hebben een Master of Science en/of een PhD-diploma in informatica. Het Eindhovense bedrijf controleert meer dan 1 miljard regels softwarecode voor zijn klanten wereldwijd, realtime, elke dag en hanteert daartoe state-of-the-art methodologieën en technologieën.