Ger Schoeber is manager Innovation & Technology bij Hotraco. Hij heeft uitgebreide expertise in systeemarchitectuur en verzorgt trainingen op dat gebied bij The High Tech Institute.

14 September 2017

De snel toenemende complexiteit botst flink met de steeds kortere time-to-market. Ger Schoeber legt uit hoe een agile systeemaanpak helpt om dit onder controle te krijgen.

Onze hightechindustrie ontwikkelt tal van slimme systemen met een multidisciplinair karakter. Met robuuste behuizingen of frames gemaakt van metalen, kunststoffen en/of slimme circulaire materialen. Met snelle elektronische besturingen, waarbij warmtedissipatie een belangrijk aandachtspunt is. Met connectiviteit, steeds vaker gebaseerd op zuinige draadloze technologie of hoge bandbreedte via optische verbindingen. Met software in veel systeemlagen, van diep geïntegreerde firmware tot deep-learningalgoritmes in de cloud voor data-analyse. Ook user experience is sterk in opkomst: het creëren van een laagdrempelige, maximaal intuïtieve gebruikerservaring in de interactie met complexe systemen.

Het meest flexibele onderdeel van een complex systeem is uiteraard de software. Die kunnen we gelukkig op het laatste moment nog aanpassen. Kwestie van een nieuw programma, en klaar is Kees. Hardware zoals het ijzerwerk of de elektronica is velen malen kostbaarder om te wijzigen – denk aan engineering-, productie- en materiaalkosten. Bovendien hebben dergelijke wijzigingen veel extra doorlooptijd tot gevolg. Het is dus logisch dat de ontwikkeling van mechanica en elektronica van oudsher flink voorrang krijgt. Pas als die voldoende stabiel zijn, beginnen we aan de software. We kunnen altijd snel iets programmeren om het systeem op de juiste manier te laten bewegen en functioneren. Voor systemen die niet meer hoeven te wijzigen, zit daar veel waarheid in.

Tegenwoordig zijn er echter twee belangrijke trends die elkaar danig in de weg zitten: een snelle toename van de systeemcomplexiteit enerzijds en de steeds kortere time-to-market anderzijds. De toename van de complexiteit zien we in alle disciplines, waarbij de groei bij software het meest explosief is. Om dit onder controle te houden, hebben we een natuurlijke neiging om in de ontwerp- en engineeringfase de onderwerpen verder te serialiseren in plaats van te parallelliseren. Dit botst flink met het nieuwe verwachtingsperspectief van de markt dat systemen steeds sneller beschikbaar komen. Is dit alles wel onder controle te krijgen?

Coreteam

Het is inmiddels niet meer mogelijk om projectplanningen en systeemarchitectuur vooraf in al hun volledigheid te voorspellen. Tegen de tijd dat we een eerste planning in al haar facetten hebben uitgewerkt, heeft de concurrent zijn product al lang en breed gelanceerd. Lean-, Agile- en Scrum-achtige aanpakken vieren hoogtij. Zelfsturende teams en architectuur die voortschrijdend ontstaat, zijn hip. Niet alleen bij software; ook andere disciplines ontdekken de sprint en de daily stand-up.

 advertorial 
Microchip

Device lifecycle management for fleets of IoT devices

Microchip gives insight on device management, what exactly is it, how to implement it and how to roll over the device management during the roll out phase when the products are in the field. Read more. .

Het idee dat we alles tot in detail onder controle kunnen hebben, is een utopie. Alles zo vrij mogelijk laten en zomaar ergens aan beginnen om systemen als het ware vanzelf te laten ontstaan, is weer het andere uiterste. Net als bij veel natuurwetten geldt ook hier: de extremen zijn de punten van labiliteit en onbalans. De echte uitdaging zit juist in het vinden van stabiliteit en balans. Maar hoe vinden we nou die balans van voorspelbaarheid enerzijds en keuzevrijheid anderzijds?

Van belang is om te streven naar een technisch fraaie oplossing die we binnen een redelijke tijd kunnen realiseren en die de best mogelijke waarde voor de markt biedt. Deze drie aspecten zijn een-op-een af te beelden op de drie belangrijke rollen in een ontwikkeling: respectievelijk de systeemarchitect, de projectleider en de productmanager. Een onbalans in dit coreteam leidt tot suboptimalisatie: zonder systeemarchitect wel een goedkope oplossing, maar niet toekomstbestendig; zonder projectleider een mooie oplossing zonder businessmarge; zonder productmanager een technisch hoogstandje zonder marktwaarde.

System architecture pyramid
Systeemontwikkeling is een piramide waar we aan de top beginnen en langzaam maar zeker steeds verder over de volle breedte afdalen. Soms is het nodig kort de diepte in te duiken.

Heroverweging

Systeemontwikkeling is een piramide waar we aan de top beginnen en langzaam maar zeker steeds verder over de volle breedte afdalen. Die breedte dekt de klant-/marktwensen c.q. -behoeftes, de techniek (over alle disciplines) en de planning/investering van ontwikkeling en productievoorbereiding – grofweg de verantwoordelijkheden voor respectievelijk de productmanager, de systeemarchitect en de projectleider. Aan de top begint het vaak met een eerste brainstorm die nog past op de achterkant van een bierviltje. Het idee komt langzaam tot wasdom door de piramide over de gehele breedte af te dalen en in te kleuren.

Soms is het nodig kort de diepte in te duiken, om bijvoorbeeld een concept te toetsen, gedetailleerdere berekeningen uit te voeren, een mock-up te maken of een simulatie te draaien. Dit helpt enorm om op feiten gebaseerde terugkoppeling te krijgen vanuit de realiteit. Het is aan het coreteam om op die manier risico’s rond technologie, planning en markt zo veel mogelijk te minimaliseren en erop te anticiperen.

Dit is een agile systeemaanpak: op kort cyclische basis ervoor zorgen dat de keuzes in een complexe systeemontwikkeling leiden tot de beste oplossing voor markt en business, waar nodig voor zowel de korte als lange termijn. Hierbij werken we vanuit een concurrent engineering-gedachte: de systeemarchitect bepaalt de richting en bewaakt de systeemarchitectuur, de productmanager bewaakt de marktwaarde, de concurrentie en de verkoopbaarheid, de projectleider bewaakt de planning, de investering en de businesscase. Zo kan het gebeuren dat onverwachte complexiteit of tegenvallers in de techniek leiden tot een heroverweging van de functionele requirements om de businesscase overeind te houden. Maar ook omgekeerd: voortschrijdend marktinzicht kan leiden tot een heroverweging van de business gekoppeld aan nieuwe technologiekeuzes.

Scheefgroei

De systeemarchitectuur is het fundament voor een solide bouwwerk. En ook een fundament kan op basis van nieuwe inzichten onderhevig zijn aan wijzigingen. Dit zijn bijzonder lastige momenten in elk project: het is een heel menselijke reactie om liefst zo veel mogelijk door te bouwen op de basis die is gelegd. De grootste kans op succes halen we echter als we in staat zijn om te bewegen en keuzes te heroverwegen. Dit kan ook betekenen dat we een investering vroegtijdig beëindigen om daarmee potentiële debacles te voorkomen.

Ja, een fundament is nodig. Het ontstaat vanaf een bierviltje. De invloed van de omgeving, de techniek, de markt, de concurrentie of de business kunnen volop helpen om het fundament verder te verstevigen. Het coreteam moet er over de volle breedte van de piramide voor zorgen dat er geen scheefgroei gaat ontstaan en dat de onderkant van de piramide mooi onder de top komt te liggen.

Edited by Nieke Roos