Metaprogramming

Next step in software ontwikkeling

Softwareontwikkeling staat aan de vooravond van een kentering. Organisaties zoeken steeds vaker hun toevlucht in low-en no-code oplossingen uit onvrede met de traditionele manier van softwareontwikkeling. Te hoge kosten en te lange doorlooptijden, de geleverde functionaliteit is minder dan verwacht, het schrijnend tekort aan ervaren ontwikkelaars … En dan is er nog het issue van schaalbaarheid en onderhoudbaarheid van de software, en de kosten daarvan.

Wij vinden het een contradictio in terminis dat het ‘automatiseringsvak’ gekenmerkt wordt door ambachtelijke processen waarbij de developer eindeloos veel coderegels handmatig schrijft. Code die vaak op min of meer  dezelfde wijze ook elders in de software voorkomt. Zoveel code handmatig schrijven is kostbaar, kwetsbaar en leidt tot inconsistenties.

Metaprogramming

Vanuit dat inzicht werkt MetaFactory al sinds 2004 aan een andere benadering van softwareontwikkeling. Niet met een nieuwe taal of door het ontwikkelen van click-and-play producten voor non-developers, maar door fundamenteel het bouwproces te innoveren. Want in het ontwikkelproces,  dáar liggen de optimalisatiekansen.  Het draait om een effectievere inzet van de factor ‘mens’ en techniek: hoe laat je de techniek slim voor de developer werken?

Ons antwoord is metaprogramming. Een aanpak met ondersteunende bewezen tooling, die het softwareontwikkelproces daar waar mogelijk automatiseert. Een aanpak waarbij de developer in plaats van te focussen op het produceren van véel code, de handen vrij krijgt om toegevoegde waarde te leveren in de vorm van meer verdieping in de business logica en het creëren van ongekend goede code en slimme oplossingen.  Met als resultaat: een versnelling van het ontwikkelproces en hoogwaardige code die uitstekend in eigen beheer kan worden onderhouden.

Patronen

Het principe? Ontdek de patronen in het proces en automatiseer de productie van die patronen. Metaprogrammeren bestaat uit het identificeren van patronen en die met code instructies beschrijven. Door de variëteit van de patronen vast te leggen in het metamodel wordt een spectaculaire optimalisatieslag gerealiseerd. De Code Composer genereert alle gewenste source files, query’s, unit-tests en testscripts op basis van de code instructies in combinatie met het metamodel. De code instructies kunnen worden aangepast op basis van voortschreidend inzicht. Daarna gegenereert de Code Composer weer een aangepaste set bestanden. Zo wordt onnodig handwerk geëlimineerd. De developer krijgt zijn handen vrij om oplossingen te bedenken voor specifieke vraagstukken in het project. Dit versnelt het ontwikkelproces en levert consistente code op van uitstekende kwaliteit.

Met de Code Composer kunnen wijzigingen in bestaande applicaties snel en flexibel worden doorgevoerd. Nieuwe projecten kunnen niet alleen sneller worden gerealiseerd, maar de software is ook beter onderhoudbaar en schaalbaar.

Code Composer

Vanuit onze drive om technologie slimmer in te zetten, hebben we een eigen white box tool ontwikkeld, de Code Composer. MetaFactory gebruikt de Code Composer natuurlijk zelf bij de bouw van maatwerksoftware, maar stelt de tool ook ter beschikking aan andere developers. Inclusief training en advies over het werken met de Code Composer. Wil je meer weten over de Code Composer? 

Bewezen Productiviteit van onze aanpak

The Art of Doing Twice the Work in Half the Time is niet zomaar een losse frase, maar de het resultaat van een onderzoek. In onze interne projectadministratie hebben we een goed beeld van gerealiseerde functionaliteit en besteedde uren. Met behulp van de functie-puntanalyse analyseren we onze projecten. Onze aanpak en resultaten hebben we laten valideren door een onafhankelijk bureau IDC Metri en de conclusies delen we hier:

“IDC Metri: Over het geverifieerde project levert MetaFactory een Product Delivery Rate van 4,93 uur/FP.  Dit is beter dan marktconform. Vergelijkbare Java-projecten (zonder metaprogrammeren) hebben 50-100% meer uren nodig om dezelfde hoeveelheid functionaliteit te realiseren.”

Hierbij geldt dat onze projecten zijn uitgevoerd volgens onze kwaliteitsnormen. We praten hierbij over zowel de kwaliteit van ons software ontwikkelproces als de kwaliteit van de opgeleverde software. Bij het laatste kijken we niet alleen naar SonarQube maar ook naar security, performance, betrouwbaarheid, onderhoudbaarheid en portabiliteit.

Sneller software onwikkelen met Code Composer

Ontdek hoe onze belofte "your own great code in half the time" met de Code Composer in jouw situatie gerealiseerd kan worden.

Naar Diensten MetaFactory

Concept

Metaprogramming

Interessante artikelen