Codegenerator

Robotiseren van software development – Waarom?

[object Object]
Albert Mensinga
September 11, 2019

Vanaf het jaar 1750 werden ambachten geautomatiseerd door machines tijdens de Eerste Industriële Revolutie. De Tweede Industriële Revolutie (1870-1910), ook wel bekend als de technologische revolutie, legde de basis voor onze huidige maatschappij en bijbehorende economieën. Toepassing van staal, elektriciteit, turbines, verbrandingsmotoren en aardolie gaven ongekende schaalvergroting en met de gevolgen worden we dagelijks geconfronteerd. De Derde Industriële Revolutie diende zich geluidloos aan in de periode na de Tweede Wereldoorlog en heeft een focus op communicatie en digitalisering. Gebruik en inzet van computers en netwerken leverde de huidige informatiemaatschappij en diensteneconomie op. Nu de technologische ontwikkelingen zo snel gaan dat bedrijven verdwijnen als ze het tempo niet bijhouden, is het belangrijk om de geleerde lessen uit het verleden toe te passen op de methodieken van vandaag. Marnix heeft een oplossing die van pas kan komen.

Weg met ambachtelijke processen

Marnix: “Automatisering van vakwerk is een goed voorbeeld van een rode draad die door de eeuwen heen ontwikkelingen mogelijk maakt en nieuwe markten doet ontstaan. Kennis van techniek en toepassing van machines maakte de genoemde drie industriële revoluties mogelijk en wij zijn nu aangekomen bij een volgende stap: eerst abstraheren en vervolgens robotiseren van softwareontwikkeling. Zeg nu zelf: het is best gek dat uitgerekend het vakgebied softwareontwikkeling nog uit zoveel handmatig vakwerk bestaat. Het is bizar en volstrekt tegenstrijdig dat ambachtelijke processen de hoofdmoot vormen van ons hippe vak. Dat kan absoluut anders. Ik vond dat ik mijn tijd beter kon besteden aan denkwerk en begrip van de toepassingen van mijn projecten dan aan eindeloos coderegels schrijven die her en der in de software op min of meer dezelfde wijze voorkomen. Dat is toch eigenlijk waanzin?”

CoBotisering

“Ontwikkelaars die niet de gevestigde no-code (NCDPs) en low-code (LCDP) kunnen gebruiken, schrijven hun software met de hand. Dat is de reden dat er honderden ontwikkelaars nodig zijn bij omvangrijke projecten, bijvoorbeeld bij grote overheidsinstanties en multinationals. Dat kan echt anders. We maken toch ook niet meer met honderden zetters en drukkers een krant? Dat waren vroeger fabrieken zo groot als dorpen en sinds de jaren ’80 studio’s met een capaciteit van nog geen 100 werknemers. Softwareontwikkeling heeft die slag nog niet gemaakt, terwijl het prima kan. Door het proces te robotiseren heeft elk van de ontwikkelaars bij  MetaFactory er in feite een hulpje bij. Een CoBot die helpt met de uitvoering van zijn of haar werk. Dit scheelt tijd, en dus geld, en is effectiever omdat het fouten minimaliseert. Abstractie levert elegante, in- en aanpasbare en uiterst doelmatige code op die tot stand komt door ontwerpers en developers die goed nadenken over de toepassing en de business-logica van hun applicaties.”

Abstraheren en robotiseren van je eigen softwareontwikkelproces

“In tegenstelling tot de dreiging dat toenemende robotisering ten koste gaat van de werkgelegenheid in ons land, schept automatisering van softwareontwikkeling juist banen vanwege de enorme behoefte aan nieuwe software. De markt barst uit z’n voegen en de ontwikkelaars zijn niet aan te slepen. Denk aan de blijvende trend Digitale Transformatie, de inhuur van expertise uit landen als Zuid-Afrika en India (India besteedt alweer uit aan China…), realisatie van de 3D-printing industrie, toepassing van Artificial Intelligence en ga zo maar door. De nieuwste ontwikkelingen laten zich niet tegenhouden door menskracht en er moet iets gebeuren willen de projecten niet voortijdig stranden of hopeloos vastlopen, bijvoorbeeld door miscommunicatie of gebrek aan focus. MetaFactory geeft antwoord op de huidige toenemende behoefte en vraag. Veel branches staan te springen om passende maatwerksoftware maar kunnen vanwege de kosten niet aan zulke omvangrijke softwareprojecten beginnen.

Bij MetaFactory schrijf je in feite je eigen scaffolding-proces waarbij je werkt met vooraf gedefinieerde codesjablonen (templates) om de definitieve code te genereren die de applicatie kan gebruiken om database-items te maken, te lezen, bij te werken en te verwijderen. Onze developers schrijven die templates zelf. In feite geef je een specifieke briefing door aan je CoBot die voor jou aan de slag gaat en je werk uit handen neemt met als resultaat de code zoals je ‘m zelf handmatig zou schrijven, maar dan in enkele minuten gegenereerd door je digitale assistent.”

Sneller en beter

“Er gaan zich nieuwe markten aandienen die dergelijke perspectieven niet meer willen laten liggen, simpelweg omdat ze nu binnen bereik komen. In de komende jaren zorgt deze omarming van inzicht, vertrouwen en technische mogelijkheden in diverse branches en markten ongetwijfeld weer voor de nodige disrupties. Sinds midden jaren ’90 gaan we sowieso van disruptie naar disruptie en het is aan de bedrijven om bij te blijven want de markten maken hun keuze toch wel. Maar: kiezen ze voor jou of voor een concurrerend bedrijf? Aan de beurt zijn nu de banken en verzekeraars, doorstartende startups in de techniek (3D-printing industry, robots) en verzendbedrijven met een complexe logistiek.”

Evolutie in softwareontwikkeling

“We zijn hier in het Westen hartstikke slim en daarom moeten we niet aan onze traditionele ambachtelijke processen vasthouden want dan verliezen we wat we op een eenvoudige manier kunnen winnen en doorontwikkelen. Mensenwerk is kostbaar, kwetsbaar en inconsistent. Terugkijkend zien we wat industrialisering ons bracht: als we onze fysieke handelingen kunnen beperken en overdragen aan CoBots brengt dat alleen maar voordelen. Vandaag betalen bedrijven nog 2.000 uur voor een project. Maar als het morgen sneller, goedkoper of beter moet kiezen ze voor een betere optie of zijn ze weg. Bedrijven met een groeiwens of een markt die groter is dan ze nu aankunnen, kijken ook naar opties om hun doelen te realiseren. Softwareontwikkeling staat aan de vooravond van een kentering. Ik denk echt dat ontwikkelaars gebaat zijn bij hulp in hun werkzaamheden zodat ze echt kunnen bouwen wat zij willen. Wij dragen graag ons steentje bij en nodigen ontwikkelaars uit om te komen kijken en met ons mee te doen.”

Benieuwd naar MetaFactory?

Stuur een bericht via onze contactpagina of abonneer je op de maandelijkse nieuwsbrief. < link volgt >

Waarom genereren Java-developers zelf hun code?
“De applicaties waar we aan werken zijn immers 100% maatwerk en daar zijn we juist zo trots op! Bij MetaFactory gaan we er anders mee om. Ons datamodel is groot, we hebben veel entiteiten en we gebruiken een moderne architectuur met verschillende lagen en willen we een aantrekkelijke GUI maken. Deze ingrediënten vereisen dat er veel code geschreven moet worden. De combinatie van een relatief klein team (momenteel 7 ontwikkelaars) en de vanzelfsprekendheid dat we ‘in control’ willen blijven, zorgt ervoor dat we sinds 5 jaar werken volgens een eigen werkwijze. MetaFactory is onze CoBot die het ontwikkelwerk voor ons uitvoert. Met deze Code Generator werken we sneller, abstracter en beter,” aldus Marnix van Bochove, senior Java-developer en tevens bedenker van de MetaFactory tool.
 

Kijk op de MetaFactory Herfst Hackathon 2019 liveblog voor een indruk van de werkzaamheden en werksfeer bij onze ontwikkelaars.

Ook interessant

Codegenerator
Begin elke sprint met een nieuwe oplevering
Codegenerator
SDA = Software Development Automation