class="img-responsive
Het slimme Utopia

Meer dan ooit droomt de maatschappij van een utopische toekomst waarin "slimme" technologieën zoals AI, IOT, Big Data en Autonomous Vehicles de levenskwaliteit van het merendeel van de wereldbevolking verbeteren. Al deze vorderingen zijn volledig afhankelijk van softwaregedreven innovatie. Daarom is het beheersen van het vermogen om te innoveren in software absoluut noodzakelijk om een leidende positie te verwerven in elke markt die afhankelijk is van "Slimme" technologie.

Zwakke stichtingen

class="img-responsive
De bedrijfsstrategie is uiteindelijk de wetenschap van het verzekeren van toekomstig succes. Dit houdt in dat er wordt geanticipeerd op de toekomst, dat er kritische punten worden geïdentificeerd en dat er een actieplan wordt opgesteld om daar te komen. Er is één cruciaal punt dat alle "slimme" technologieën gemeen hebben, namelijk dat de hele business van software engineering momenteel gebaseerd is op fundamenteel zwakke fundamenten.

Deze kwesties worden nergens beter behandeld dan in een rudimentair artikel van professor Jesse Poore van de Universiteit van Tennessee, "A Tale of Three Disciplines ... and a Revolution". Waar andere ingenieursdisciplines systematisch voortbouwen op formalismen die hen een solide basis bieden, doet software engineering dat momenteel slechts zelden. Aeronautical Engineering maakt bijvoorbeeld routinematig gebruik van aerodynamica, vliegmechanica en thermodynamica, die allemaal gebaseerd zijn op bewezen wetenschappelijke en wiskundige principes. De reguliere software engineering daarentegen berust op het gebruik van informele methoden die op een trial and error-basis worden toegepast.

Manifestatie van risico's

Het bouwen van "slimme" technologieën op zwakke fundamenten is een inherent riskante aangelegenheid. Vandaag de dag heeft software engineering moeite om aantoonbaar robuuste, betrouwbare en veerkrachtige systemen te bouwen die schijnbaar relatief eenvoudige, beperkte taken uitvoeren. Deze strijd komt het meest in het openbaar tot uiting in het toenemende aantal terugroepacties in de auto-industrie, bijvoorbeeld. Maar gelukkig zijn de kosten en gevolgen van softwarestoringen tot nu toe relatief beperkt gebleven, waarbij gebeurtenissen zoals het stroomverlies in de hele noordoostelijke corridor van de VS en Canada eerder uitzondering dan regel zijn. De trend is echter niet geruststellend. In zijn jaarlijkse "Software Fails Watch"rapport merkt de CEO van Tricentis op: "software speelt een grotere rol in de interacties tussen consumenten en bedrijven dan ooit tevoren, en toch blijft het aantal nieuwsberichten over meldingen van bugs die in productie worden genomen, alleen maar toenemen.

"Hoe meer levens en middelen er op het spel staan, hoe meer vertrouwen we hebben dat de software zal werken zoals bedoeld."

Prof. Max Tegmark LIFE 3.0
Het feit dat tot op heden er zijn relatief weinig levens verloren gegaan als gevolg van software-uitval. is omdat de context waarin de meeste van de huidige softwaresystemen werken, beperkt is. In de autowereld wordt software momenteel bijvoorbeeld grotendeels gebruikt voor toepassingen voor assistentie/comfort van de bestuurder, waarbij de effecten van een storing beperkt zijn tot niet-kritische systemen in een individueel voertuig en de bestuurder naar verwachting zal functioneren als het ultieme veiligheidsmechanisme.

class="img-responsive
Spiraalvormige complexiteit

De "slimme" systemen van de toekomst zullen orden van grootte complexer zijn dan de systemen die we vandaag de dag bouwen, niet alleen in termen van hun mogelijkheden, maar ook in termen van hun afhankelijkheid van andere complexe, geavanceerde systemen. Vanuit een softwareperspectief bijvoorbeeld, zal een niveau 5 autonoom voertuig veel geavanceerder zijn dan eender welk voertuig op de weg vandaag. Maar Smart Mobility ziet ook autonome voertuigen die samen in konvooien "pelotoneren" - een complex systeem van complexe systemen. De gevolgen van het uitvallen van een onderdeel van zo'n systeem kunnen een ravage aanrichten en veel mensenlevens in gevaar brengen. De zwakke fundamenten waarop de software engineering momenteel is gebaseerd, bieden geen mogelijkheid om deze problemen met enige mate van zekerheid te verzachten.

Opgeblazen Totale kosten van eigendom

De zwakke fundamenten van software engineering leiden tot een opgeblazen total cost of ownership (TCO) voor software (afhankelijke) producten. Maar omdat de meeste software engineering organisaties het zwakke funderingsparadigma omarmen zijn deze kosten de geaccepteerde norm geworden. Het is duidelijk dat er dan een enorme kans is om de status quo te verstoren voor elke software engineering organisatie die in staat is om een lagere TCO te leveren door het zwakke funderingsparadigma te vervangen door een meer rigoureuze aanpak.

[/fusion_gallery]

Mastering Software Driven Innovation

Het beheersen van software gestuurde innovatie begint met het leggen van een sterke basis in software engineering. Dit betekent bijvoorbeeld het toepassen en inzetten van analytische tools en technieken die defecten in een vroeg stadium van de ontwikkelingslevenscyclus voorkomen, opsporen en elimineren. Agile ontwikkelmethodes, continue integratie en continue inzet versnellen en versterken het vermogen van een organisatie om de ontwikkelingstijd en -kosten van functies te verminderen, resultaten van hoge kwaliteit te bereiken en een onderhoudbare en herbruikbare codebasis op te bouwen. Met de voordelen van een sterke basis kunnen ontwikkelingsteams zich richten op het snel innoveren van software en het beheersen van de toenemende complexiteit. Bedrijven die snel kunnen innoveren in software kunnen ook sneller innoveren met software, waardoor de levering van marktleidende Slimme Producten en Diensten mogelijk wordt.

Conclusie

Toekomstige winnaars in de race om dominantie in "Slimme" producten en diensten zullen die organisaties zijn die in staat zijn om softwaregedreven innovatie te beheersen. Sterke fundamenten in software engineering zijn een voorwaarde voor succesvolle softwaregedreven innovatie.

Het zwakke funderingsparadigma is de huidige geaccepteerde norm in de industrie en is diep geworteld in de meeste software-engineeringsorganisaties. Hierin ligt zowel de kans, de dreiging als de noodzaak van een strategische aanpak.