Systeemarchitect heeft liever asperges dan spaghetti

0

THEMA Simplexity: van gemakkelijke complexiteit naar lastige Illustratie: Josje van Koppeneenvoud

Producten worden steeds complexer, vooral door de fors toegenomen hoeveelheid software erin. Nieuwe releases worden doorgaans gebouwd op bestaande software, de legacy, met als resultaat een ongestructureerd geheel, ‘spaghetti’. In het beteugelen van deze complexiteit heeft de systeemarchitect een belangrijke rol. Zijn hulpmiddelen: gezond verstand én werken met herbruikbare modules, zodat riskante innovaties modulegewijs kunnen worden uitbesteed aan start-ups. En natuurlijk moeten die modules wel op elkaar aansluiten – liefst met ‘dunne’ interfaces.

THEMA  Simplexity: van gemakkelijke complexiteit naar lastige eenvoud

  • ‘De focus van morgen moet zijn op complexiteitsmanagement, niet alleen op complexiteitsreductie.’
  • ‘De hele productstructuur in termen van architectuur bekijken, dat gebeurt bijna nog niet.’
  • ‘Een balans tussen vernieuwing en erfgoed zoeken.’

De tijd van de eenvoud ligt ver achter ons, valt Piet van Dongen met de deur in huis. De manager sales support bij Siemens PLM Software spreekt klanten uit allerlei sectoren over de toenemende complexiteit waarmee zij worstelen. Hij constateert dat productcomplexiteit fors is toegenomen. Een vliegtuigmotor telde destijds 3.000 onderdelen, nu 40.000. Machines en apparaten worden voorzien van steeds meer elektronica, sensoren & actuatoren (voor het industrial internet of things) en de software dijt gigantisch uit, voor de besturing van steeds complexere systemen en de verwerking van de big data die eruit komen. Voorbeeld: van 5.000 coderegels voor het motormanagementsysteem van een auto veertig jaar geleden, naar 100 miljoen regels voor de hele auto nu en misschien zelfs 400 miljoen voor de zelfrijdende auto. Tevens worden productieprocessen geavanceerder, zodat producten customized van de lijn kunnen rollen. Dat vergt veel van engineering: ook het voortraject wordt steeds complexer en staat daarbij nog eens onder druk omdat de time-to-market steeds korter moet. Tegelijk wordt er steeds meer gesimuleerd: model-based design helpt het benodigde aantal fysieke prototypes terug te dringen. Tot slot noemt Van Dongen de supply chain als bron van toenemende complexiteit. ‘Cruciaal in deze context is een samenwerkend multidisciplinair engineeringplatform op te zetten. De focus van morgen moet zijn op complexiteitsmanagement, niet alleen op complexiteitsreductie.’

Complexe software

Nico Meijerman, groepsleider machine control bij NTS Systems Development, onderdeel van NTS-Group in Eindhoven, herkent het beeld. ‘De performance als functie van de tijd neemt voor mechanica en elektronica geleidelijk toe, maar voor software veel sneller. Als wij een x-y-tafel bouwen, zijn bijvoorbeeld de assen nooit helemaal recht en werken de encoders nooit perfect. Daarvoor moet je kalibreren en in de besturingssoftware compenseren. De mechanica en elektronica worden niet eenvoudiger, maar de complexiteit gaat toch vooral in de software zitten.’ Hij duidt hier op de mechatronica als combinatie van genoemde disciplines. Die samenwerking blijft echter lastig en vaak is de mechanica nog leidend bij de ontwikkeling van nieuwe hightech, erkent hij. ‘Mijn ambitie als groepsleider is software meer ingebed te krijgen in onze organisatie.Om de communicatie en samenwerking tussen de disciplines te verbeteren geef ik een workshop ‘Software engineering for dummies’.’

Nico Meijerman, groepsleider machine control bij NTS Systems Development

 

 

Gevarieerd menu voor beteugeling complexiteit

Zijn klanten wil Meijerman eveneens ‘opvoeden’. ‘Voor een nieuw systeem kun je de mechanica-specs wel redelijk helder krijgen, maar de klant kan nauwelijks specificeren wat de software moet kunnen. Met een beetje geluk krijgen we vijftig procent van de requirements vooraf op papier. De klant verwacht software waarmee hij over vijf jaar nog gelukkig is, maar het is een illusie dat we dit kunnen voorspellen. Over dit probleem hoor ik te weinig hier in Brainport. Grote oem’ers werken wel met een productplatform waarop ze telkens nieuwe softwarereleases doen. Zo wil ik ook met onze klanten werken: in eerste instantie het minimale aan software leveren, dat in de praktijk beproeven, kijken wat de klant er echt mee wil en vervolgens uitbreiden in nieuwe releases. We zien de eerste klanten in die richting tenderen. Een vertrouwensmodel met een open einde in de softwareontwikkeling, maar het zorgt wel dat er alleen wordt ontwikkeld wat echt nodig is. We hebben net een eerste offerte uitgebracht.’

Voor de software wordt vaak een ‘knip’ gemaakt tussen de onderliggende besturingssoftware die de mechanische en elektronische functionaliteit regelt (en die NTS dus meelevert) en de applicatiesoftware die de klant vaak in eigen hand houdt, want daarin zit het geheim van zijn proces. ‘De klant denkt ‘da’s simpel’, maar krijgt hij de applicatiesoftware niet voor elkaar dan hebben wij geen inkomsten.’ Probleem: de ‘softwareproductie’ staat nog in de kinderschoenen wat betreft productiviteit, kwaliteit en tools voor het beheersen van de complexiteit. Hergebruik van software(modules) kan het leven makkelijker maken. Meijerman: ‘Ons streven is tot tachtig procent van de software ‘van de plank’ te kunnen halen. Daarom zijn we nu in elk project bezig om software daarop te krijgen en te zorgen dat die in volgende projecten aan andere klanten kan worden verkocht.’

Lean start-up

Ook technology entrepreneur Martijn Rutten, sparringpartner in de Eindhovense hardware-accelerator HighTechXL en op de blog SoftwareStartups, stelt (applicatie)software centraal. ‘Daarmee kun je producten simpeler en flexibeler in gebruik maken, beter laten presteren en uitbreiden met diensten die waarde toevoegen voor de gebruiker.’ Keerzijde: die software zelf wordt ‘onder de motorkap’ complexer. Voor de grote bedrijven, de corporates die niet mogen falen, maakt dit het innovatietraject steeds lastiger, zeker als zij nieuwe technologiedomeinen betreden, met internet of things, big data, kunstmatige intelligentie, enzovoort. ‘Dat lukt alleen als externe innovatie, met een klein team dat vanaf scratch iets nieuws ontwikkelt. Een start-up dus. Dat is niet de kleine variant van een groot bedrijf, maar een lerende organisatie die heel gefocust aan die innovatie werkt en heel lean zo snel mogelijk naar buiten gaat om in de echte wereld te valideren, kijken of een minimum viable product echt aanslaat. Komt daar wat uit, dan kunnen corporates die de kat uit de boom hebben gekeken, het omarmen door die start-up op te kopen.’

entrepreneur Martijn Rutten, sparringpartner

Systeemarchitectuur

Dat software steeds belangrijker wordt, maar de mechanica in de hightech nog vaak het voortouw neemt, doet zich onder meer voelen bij uitbesteding. Wil een oem’er de verantwoordelijkheid voor complete modules buiten neerleggen, dan worden die vaak langs de mechanische as opgesplitst, volgens Nico Meijerman. ‘Bij de ‘knip’ heb je dan een ‘dunne’ mechanische interface, zeg een paar bouten. Maar voor de elektronica en software ligt het anders, daar krijg je een ‘dikke’ interface tussen die ene module en de rest van het systeem – nauwelijks te managen.’ De systeemarchitectuur matcht dan niet in de verschillende domeinen.

Een voorloper in het denken over die systeemarchitectuur is Ger Schoeber, gepokt en gemazeld in de wereld van technische software en embedded systemen. Hij werkte voor ASML (via Philips) en Sioux, en is nu verantwoordelijk voor innovatie bij Hotraco in Horst, dat technische automatisering verzorgt voor de sectoren agri, waterbehandeling en industrie. Onder impuls van Schoeber professionaliseert het ‘no-nonsense bedrijf’ – dat van oudsher een conservatieve markt bedient – zijn productontwikkeling en verschuift de focus naar software. ‘Hadden we voorheen losse, robuuste besturingskastjes met een paar drukknoppen, nu hebben we systemen die met touchscreens een nieuwe bedieningsfilosofie uitdragen, meer managementinformatie bieden en connected zijn. Dergelijke systemen moeten een bepaalde architectuur hebben, zodat we vanuit een modulaire opbouw van onze producten verschillende markten kunnen bedienen. De rol van systeemarchitect is hier nog niet aanwezig, maar is wel keihard nodig. Iemand die de technische eindverantwoordelijkheid draagt, multidisciplinair kan denken en snapt wat belangrijk is voor de eigen business en de klant: niet slechts maken wat klant vraagt, maar wat die nodig heeft.’

Legacy beheersen

Een belangrijke taak voor de systeemarchitect is de legacy managen. Vooral de software is berucht om de onontwarbare en almaar uitdijende ‘spaghetti’ van ad hoc aan elkaar geknoopte modules. Schoeber: ‘Die spaghetti uit het verleden gooi je liefst weg, maar helemaal opnieuw beginnen is niet haalbaar. Intern klinkt bij ons: ‘We moeten van de spaghetti naar asperges, een mooi opgelijnde structuur van modules.’ De opgave voor de systeemarchitect is dan vanuit de legacy naar een heldere structuur te komen. Leg over de complexiteit een abstractielaag en het wordt van de buitenkant eenvoudiger benaderbaar. Vervolgens kun je op onderdelen zaken onder de motorkap aanpakken. De vraag daarbij is wat core is en behouden moet worden, en wat uitbesteed kan worden.’ Voor Hotraco zit de core in de meet- en regeltechniek, de domeinkennis van bijvoorbeeld klimaatbeheersing voor stallen of kassen. ‘Die intelligentie zit in ons systeem en is niet eenvoudig te kopiëren. Daaromheen leggen we een schil, om de interfacing helder te maken. Vervolgens kunnen we met het modulair opbouwen van onze systemen klanten met smart customization bedienen. Dat hebben we ook voor de elektronica in gang gezet met een modulair I/O-concept, waarbij we standaard I/O-boardjes als Legoblokjes aan elkaar klikken. Voor de software gaan we eveneens in modulaire concepten denken: welke functie wil de klant wel en niet hebben? De module daarvoor kunnen we dynamisch activeren of deactiveren, met bijbehorend afrekenmodel.’

Model als hulpmiddel

Hotraco is volop bezig met dit architectuurdenken en kan daarbij voortbouwen op de Nederlandse traditie met voorlopers als Philips, ASML en NXP. Schoeber, een representant daarvan, draagt het gedachtegoed uit in de cursus System Architecting, die hij in binnen- en buitenland verzorgt. Een belangrijk hulpmiddel van de systeemarchitect is het model; men spreekt ook ook wel van model-based systems engineering. ‘Een model, als vereenvoudigde weergave van een deel van de werkelijkheid, helpt de complexiteit te beheersen: je kunt erover redeneren, inzoomen op onderdelen, de ontwerpopgave terugbrengen tot de essentie en erover communiceren met de omgeving, technisch én in Jip en Janneke-taal.’

Het probleem van de dunne en dikke interfaces herkent Schoeber. ‘De eerste stap van de architect is een decompositie maken voor het te ontwikkelen systeem: welke onderdelen herken ik, wat zijn subsystemen? Zich daarbij twee dingen bedenkend: die subsystemen vormen geen losse eilandjes en straks volgt de integratie. Subsystemen hangen aan elkaar en de interfaces ertussen moet je zo dun mogelijk houden; dat bepaal je met die decompositie. Als er iets misgaat tijdens de integratie, ligt dat op interfaceniveau. Verdeelt de architect een bepaalde functionaliteit van het systeem over veel componenten, dan krijg je spaghetti: trek je die functie eruit, bijvoorbeeld om die buiten de deur te leggen, dan blijkt alles aan alles gekoppeld. Dus moet die functionaliteit zoveel mogelijk in één subsysteem worden ondergebracht, met veel cohesie. ‘High cohesion, low coupling’ is een van de designprincipes voor architectuur die in eerste fase cruciaal zijn voor simplexity. Het is heel simpel iets complex te maken, het is complex iets simpels te maken.’

Jos Oberdorf, managing partner npk design en hoogleraar product architecture design TU Delft: ‘Als je ‘the bigger picture’ voor ogen hebt, wordt het een stuk makkelijker.’ Foto: npk design

 

Innovatie managen

Architectuur ligt ook op het bordje van Jos Oberdorf, managing partner van npk design in Leiden. ‘Wij zijn een van de eerste bureaus die design en engineering integraal en procesmatig is gaan aanpakken, vanuit de industriële kant, met aandacht voor niet alleen vorm, maar ook technologie, produceerbaarheid en business.’ Sinds twee jaar is hij tevens (deeltijd-)hoogleraar product architecture design aan de TU Delft. ‘Hoe doen we dat nu, een nieuw product ontwikkelen, een productarchitectuur definiëren?’, is de leidende vraag voor Oberdorf. ‘Veel gebeurt op onderbuikgevoel en dat is prima, maar soms wil je daar grip op krijgen, om het controleerbaar en overdraagbaar te maken. Bij npk willen we het innovatieproces zo managen dat we kwaliteit kunnen garanderen; niet vertrouwen op het ‘vonkje’ en dan oplossinkjes vinden, maar zorgen dat continu de juiste beslissingen worden genomen.’

‘Over dit probleem hoor ik te weinig hier in Brainport’

Kennis over hoe innovatie aan te pakken is slechts beperkt aanwezig bij bedrijven, heeft hij ondervonden. ‘Er is wel een model om de benodigde kenniscomponenten op tafel te krijgen, maar het proces om die te maken tot één geïntegreerd geheel is nauwelijks beschreven. Ja, in lineaire modellen, maar de werkelijkheid is niet lineair, want je werkt in iteraties. Dus toen kwam het cyclische model en later de lean start-up. Maar die methodes zeggen weinig over hoe de ontwerper in z’n hoofd werkt. De kern is: je kunt wel alle puzzelstukjes in elkaar passen, maar dan hoef je nog geen goede oplossing te hebben. Want een garantie dat een passend stukje werkelijk bijdraagt aan de waarde van het geheel, is er niet.’

Puzzelstukken synchroniseren

Oberdorf bepleit een continu switchen tussen deeloplossingen zoeken en die in het grotere geheel passen. ‘Daar gaat het vaak mis, want men is al blij puzzelstukjes te hebben gevonden die bij elkaar passen. Gaandeweg moet je een soort patroon kunnen ontdekken, een beeld oproepen van wat het grotere geheel zou kunnen worden en welke puzzelstukjes je erbij kunt zoeken die het beeld aanvullen. Als ze allemaal bij elkaar passen, elkaar versterken vanuit een soort logica, in balans met elkaar zijn en bijdragen aan het geheel, dan ontstaat er kwaliteit. Hier ligt echter een lacune, want we trainen mensen nog te weinig in dat continu switchen tussen deel en geheel.’ Het is een agile aanpak van architectuurontwerp die ook Schoeber voorstaat. Wat overigens nog maar mondjesmaat van de grond komt, ziet Oberdorf. ‘De hele productstructuur in termen van architectuur bekijken, dat gebeurt bijna nog niet. We leiden mensen nog verkokerd op en vertellen ze nauwelijks hoe ze moeten samenwerken. Het gaat er niet om je eigen puzzelstukje zo goed mogelijk te maken, maar om het synchroniseren van alle puzzelstukken om ze goed te laten passen. Dat spel moeten we leren spelen.’

Natuurlijk moeten daarbij de verschillende disciplines gelijk op lopen. Lastig, want ze kennen elk hun eigen fasering. Mechanica vergt een relatief korte tijd voor specificatie en conceptontwikkeling en kost in de uitwerking veel tijd. Voor elektronica duurt het specificeren al langer; daarop volgt lay-out en componentselectie, en dan gaat het maken van de pcb snel. Specificeren van software duurt nog langer, vervolgens is het een kwestie van code kloppen. Oberdorf: ‘Om de ontwerpvrijheid van andere disciplines niet te beperken, moet je gelijktijdig beginnen: ontwikkelaars in een scrum/agile-setting met elkaar laten praten en hun voortgang goed synchroniseren. Die benadering heeft wel iets ongeplands: je zet een proces in gang waarvan je niet weet waar het uitkomt. De truc is een visie te ontwikkelen waarmee alle drie domeinen de goede kant opgaan: als je the bigger picture voor ogen hebt, wordt het een stuk makkelijker.’

Slim omgaan met erfenissen

Oberdorf hanteert het product-marktcombinatiemodel van Ansoff: een bekend product ontwikkelen voor een bekende markt is redelijk risicoloos, maar levert ook weinig op. Een nieuw product voor een nieuwe markt is juist heel risicovol; de slaagkans is klein, maar bij slagen is de opbrengst groot. De andere twee opties zijn bekend product voor nieuwe markt en omgekeerd. ‘Wij hebben dat uitgebreid met de technologie-dimensie; je hebt dan acht mogelijke scenario’s met toenemend risicoprofiel: geen rechte lijn maar steiler oplopend. Veel bedrijven beginnen ergens, met een gemiddelde innovatiestrategie, en schuiven dan op, door bijvoorbeeld een nieuwe technologie in het innovatietraject op te nemen. Die hoeft niet baanbrekend te zijn, maar voor dat bedrijf is het wel nieuw en dat heeft een leercurve nodig. Opeens is het risico verdubbeld. In hun meerjarenplan kunnen bedrijven projecten met verschillende risicoprofielen naast elkaar zetten, een snelle cashcow naast een grote innovatie voor de langere termijn. Veel bedrijven vergeten dat en duiken meteen het grote innovatietraject in. Een goed voorbeeld is hoe BMW zijn 3-serie in de loop der jaren heeft ontwikkeld, met zowel innoveren als voortborduren op het bestaande ontwerp, een balans tussen vernieuwing en erfgoed.’ Complexiteit managen is ook een kwestie van slim omgaan met erfenissen.

Virtual commissioning

Siemens staat op het standpunt dat meer complexiteit niet is tegen te houden, zegt Piet van Dongen. ‘Het gaat erom hoe je die kunt managen.’ Siemens speelt erop in met zijn oplossingen voor product lifecycle management (PLM) en zijn multidisciplinaire simulatieplatform. Daarmee heeft iedereen altijd de juiste informatie beschikbaar en kun je een ‘digital twin’ creëren, voor het simuleren van concept tot eindproduct, niet alleen van componenten maar ook van complete (deel)systemen. ‘Zo maken wij ‘virtual commissioning’ mogelijk, daar waar de machinebouw oplevering vaak nog vanuit de mechanica oppakt. Een machine moet dan eerst fysiek worden opgebouwd voordat de programmering kan worden getest. Bedrijven realiseren zich dat ze hun programmeurs eerder moeten betrekken bij ontwikkeling. De inzet van virtual commissioning kan de totale tijd voor commissioning met minstens dertig procent reduceren.’

‘Veel start-ups – en de overheid – zijn te vroeg’

Start-ups kunnen met hun disruptieve innovatie zelf voor de hoofdprijs gaan of corporates helpen greep te krijgen op hun complexe innovatieprijs. Het verschijnsel start-up wordt wel gehypet, erkent Martijn Rutten, die zelf middenin het wereldje zit. ‘Wat ik mis in Nederland is aandacht voor scale-ups, de bedrijven die doorgroeien; daar hoor je niks over, terwijl zij juist de economische motor zijn.’ Een soortgelijke boodschap heeft Jos Oberdorf van npk design en TU Delft. ‘Het duurt tien tot vijftien jaar van uitvinding naar ‘pegels’ en onderweg sneuvelen er twee tot drie generaties ondernemers terwijl ze hun innovatie naar de markt proberen te brengen. Bill Buxton van Xerox’ Palo Alto Research Center, bekend van baanbrekende innovaties als computermuis en touchscreen, noemde dat de ‘long nose of innovation’.’

Start-ups worden een beetje overschat, vindt Oberdorf. ‘Vaak zitten ze in de eerste fase van dat innovatietraject en denken ze een uitvinding snel te kunnen omzetten in commercieel succes. Net als overheden en veel investeerders, die zich vooral met die vroege innovatiefase bemoeien. Als het dan na een paar jaar nog niet is gelukt, gaat de stekker er hier al uit. Maar valorisatie krijg je pas met een product waarin de nieuwe techniek is uitgekristalliseerd. De kunst voor een start-up is om niet al te vernieuwend bezig te zijn: kies nieuwe technologieën die op het punt van doorbreken staan en loods die door de laatste fase. Hoe verder je echter komt, hoe minder de overheid bijdraagt. In die laatste fase is bijvoorbeeld de WBSO (loonkostensubsidie voor speur- en ontwikkelwerk, red.) niet van toepassing, ‘Het enige wat jullie doen is commercialisering’, zegt de overheid. Die redenatie kan ik volgen, maar daar valt dan wel een gat, voor de ‘valley of death’ zijn er nauwelijks financiële instrumenten.’

Share.

Reageer

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

Geverifieerd door ExactMetrics