De ict-industrie heeft in 2009 rake klappen te verwerken gekregen. Het is waar dat de ict-industrie een sterk cyclisch karakter kent. Toch was de hevigheid vorig jaar ongekend. Naast het ontslaan van vast medewerkers moesten met name de ingehuurde detacheerders het ontgelden. Hebben we ook wat geleerd van deze crisis? Of zijn we net zo argeloos als de financiële industrie, waar per saldo niets veranderd lijkt te zijn?
Een analyse van de Nederlandse ict-industrie laat een eenvoudig beeld zien. Als afgestudeerde ict'er of instromer heb je twee keuzes. In de eerste plaats kun je kiezen voor een bedrijf dat zelf software ontwikkelt. Meestal zijn dit ofwel organisaties in de administratieve hoek (financiële instellingen en overheden) ofwel in de industriële hoek (embedded producten). In de tweede plaats kan je jezelf laten verhuren via een detacheringsbedrijf, waarbij een lease-auto tot de lokkertjes hoort. Een nader onderzoek van deze detacheringsmarkt laat een duidelijke tweedeling zien. Vooral de wat jongere ict'ers worden aangeboden als programmeurs en testers. Het zijn de 'handjes' om het oneerbiedig te zeggen. Aan de zijlijn zitten de al wat oudere consultants met hogere salarissen in een strak pak. Zij geven advies op alle mogelijke terreinen, zonder hun handen vuil te maken.
Analyse
Wanneer we deze markt analyseren, valt het op dat consultants slechts een mening hebben over de laatste technologieën, de nieuwste methoden en 'state of the art'-technieken. Aan de andere kant hebben zij zelden echte kennis over de applicaties of producten van hun opdrachtgevers. Hun toegevoegde waarde in uiteindelijke applicaties is dan ook beperkt. De ingehuurde programmeurs en testers houden zich bezig met wat de opdrachtgever gespecificeerd en ontworpen heeft en hebben dus wel toegevoegde waarde. Hun inzet tijdens deze cruciale fase is echter praktisch nul. Als reden wordt aangevoerd dat specificatie en ontwerp enerzijds applicatiekennis vereisen en anderzijds dat zulke belangrijke rollen niet aan externen gegeven worden.
Gebrek aan architecten
Op zich is dit een valide redenering, maar helaas duikt er een praktisch probleem op. In de eerste plaats wordt verondersteld dat er voldoende kennis in huis aanwezig is om aan de hand van specificaties een implementeerbare, robuuste architectuur op te zetten. Implementeerbaar in de zin dat de nu bekende specificaties omgezet kunnen worden, robuust in de zin dat de architectuur ingericht is voor toekomstige, al of niet voorziene aanpassingen. Helaas blijkt dit een probleem. Het ontwerpen van een implementeerbare, robuuste architectuur is een vak apart en wordt door zeer weinig mensen beheerst. Een voorbarige conclusie is dat er dus een extra markt is voor detachering: goede architecten! Op zich klopt dit wel, zij het dat zich hier hetzelfde probleem voordoet. Het aanbod van goede architecten uit deze koker is ook uiterst beperkt. Bovendien blijft waar dat bij externe mensen applicatiekennis ontbreekt.
Belts
Wat dan? Laten we na het rampjaar 2009 maar eens met een speculatief idee komen. We gaan de komende jaren werken aan het opleiden van echte software architecten. Mensen met praktijkervaring en het juiste niveau worden gedurende langere tijd opgeleid in principes, technieken, methoden, en ondersteunende tooling. De opleiding wordt afgesloten met een 'Green Belt'-diploma, nadat de kandidaat een zware opdracht succesvol afgesloten heeft. Verder kan men later een 'Black Belt'-diploma halen door het verdedigen van een gerealiseerde praktijkopdracht.
Toekomst
We schrijven het jaar 2025. Een groot bedrijf in de markt van industriële systemen besluit tot de ontwikkeling van een nieuwe generatie systemen. De eerste specificaties staan op papier, het architectuurteam wordt samengesteld. Een interne inventarisatie levert op dat er twee Black Belts beschikbaar zijn en drie Green Belts. Dat is te beperkt. Op de externe markt wordt gezocht naar twee extra Black Belts en vijf Green Belts, met als extra vereiste aantoonbare ervaring met vergelijkbare systemen. Het team gaat van start en na enkele maanden staat de architectuur: implementeerbaar en robuust. De implementatie begint. Programmeurs? Er zijn er niet veel nodig, de meeste code wordt gegenereerd vanuit de ontwerpmodellen. Testers? Helaas, de ontwerpmodellen zijn ook al geverifieerd. En aangezien de gegenereerde code doet wat vastgelegd is in de modellen, is testen een formaliteit geworden. De detacheringsmarkt? We zien nog wat consultants, die proberen nieuwe technologieën en technieken aan te prijzen, maar de markt is slechts een fractie van wat ze ooit geweest is. En voor programmeurs en testers is de markt al enige jaren opgedroogd. De meesten hebben zich om laten scholen tot een ander vak. De toelatingseisen voor een opleiding tot Green Belt software architect bleken te hoog te zijn. En de klant? De klant is tevreden en denkt met rillingen over de rug nog weleens terug aan vroeger, de tijd van voor de industriële software revolutie. Gelukkig is die tijd voorbij.
Dr. Ir. Hans Sassenburg, zelfstandig adviseur en als visiting scientist verbonden aan het Software Engineering Institute.
Analogie
Michelangelo was een architect. Daar zijn de meeste mensen het wel over eens. Een geleerd man. Maar ook meer ongeschoolde individuen konden het schoppen tot architect. In onze historie zijn er veel bouwwerken als kastelen en kathedralen door zowel geleerden als ongeschoolden ontworpen en gerealiseerd. Tot aan de industriële revolutie waren er geen scholen voor architecten. Men werkte zonder vastomlijnde regels en zonder standaardmaterialen. Iedereen kon zich architect noemen, en velen deden dat ook. De timmerman van toen voelde zich en werd gezien als een architect. Geen discussie.
De industriële revolutie verbreedde het werkveld van architecten. Spoorlijnen, gebouwen en fabrieken deden hun intrede. De technische vooruitgang op het gebied van elektriciteit, verwarming en loodgieten leidde tot toenemende complexiteit en bovendien hogere eisen aan veiligheid en nauwkeurigheid. Om deze uitdagingen het hoofd te kunnen bieden, werd in 1857 het Amerikaanse Instituut voor Architecten (AIA) opgericht. Ondanks heftige tegenstand van veel 'architecten', was de noodzaak voor een formele, moderne discipline voor architectuur duidelijk. Dit instituut werd een groot succes en telt vandaag 56.000 leden. De timmerman zag zijn vak veranderen. De gebouwen werden te complex om met een timmermanspotlood te ontwerpen en door te rekenen. Hij richtte zich op zijn eigen specialisatie: timmerwerk.
Je voelt het waarschijnlijk al aankomen? Een analogie tussen architectuur in de bouw en software architectuur? Inderdaad, een bestaande discussie met voor- en tegenstanders. Laten we er van uitgaan dat deze analogie op enkele punten niet op zal gaan, maar op veel punten wel. Software architectuur staat nu op het punt, waar bouwarchitectuur stond aan het begin van de industriële revolutie. In de software industrie noemen mensen met verschillende achtergronden en vaardigheden zich architect. De opleiding die men gevolgd heeft, speelt hierbij niet of nauwelijks een rol. Zijn deze mensen werkelijk onze architecten, die de complexe systemen in dit informatietijdperk kunnen bouwen?
Laten we realistisch zijn. Veel software-intensieve systemen ontstaan eenvoudig weg. Een groep van specialisten komt bij elkaar en besluit tot een ontwerp. Elk heeft zijn eigen tools en ervaringen en geniet veel vrijheid. De één gaat zich bezighouden met de badkamer, de ander met het timmerwerk. Mensen van buiten worden ingehuurd. Zij houden zich bezig met de elektriciteit, maar metselwerk en loodgieterswerk wordt ook niet geschuwd. Iedereen is multi-specialist en 'all-round'!
Naarmate het project vordert, worden problemen langzaam zichtbaar. Voor de eindgebruiker is het niet transparant wat er opgeleverd gaat worden. Discussies met de aannemer zijn moeizaam en erg technisch van aard. De architecten krijgen het steeds zwaarder. Gereedschap voldoet niet aan de eisen voor een specifieke activiteit. Goede bouwtekeningen ontbreken. Er ontstaan ongebruikte ruimtes. De verlichting functioneert niet overal. Toeleveranciers moeten wachten tot bepaald werk af is, voor dat zij kunnen beginnen. Het gebouw vordert langzaam, maar wordt uiteindelijk door de eindgebruikers als onaantrekkelijk ervaren. Extra geld, wijzigingsvoorstellen en uitgestelde mijlpalen kunnen daar niets aan veranderen.
De analogie. De software industrie staat aan het begin van haar industriële revolutie. Het werkveld verbreedt zich ras, de complexiteit neemt snel toe. Wie neemt het initiatief om historie te schrijven door het (Nederlandse) Instituut voor Software Architecten op te richten? En beste overheid, zou hier geen subsidie naar toe moeten? Eindelijk een initiatief waar subsidiegeld zich terug laat verdienen! Het zal een groot succes worden en veel leden gaan tellen. De historie heeft dit bewezen.