XLRIT vergeleken met No-code/Low-code

Low-code en no-code ontwikkelplatforms (Bettyblocks | Mendix | Outsystems) vallen in de 4de generatie van softwareontwikkel-tools. Deze generatie van tools bestaan sinds 1968 en hebben hun waarde in het verleden en zelfs nog in het heden bewezen. Ze zijn door bedrijven ingezet om snel en flexibel software-applicaties te bouwen. De aanpak is dat ontwikkelaars, en soms ook eindgebruikers, zelf applicaties ontwikkelen door gestandaardiseerde functionele blokken aan elkaar te klikken en vervolgens de software vanuit deze blokken te genereren, meestal met de mogelijkheid om hier nog speciaal geprogrammeerde aanpassingen en toevoegingen op aan te brengen.

 

Geen slechte tools dus. Echter, GEARS introduceert een geheel nieuwe generatie van softwareontwikkeling en gaat daardoor in ontwikkelsnelheid, flexibiliteit (agility) en kwaliteit ruim voorbij aan zelfs de beste no/low-code tools. Terwijl ontwerpen en programmeren bij no/low-code tools nog steeds veel handmatig en foutgevoelig werk kost, worden nu juist deze meest tijdrovende activiteiten door GEARS volledig geautomatiseerd en foutloos uitgevoerd. Daarnaast biedt GEARS nog veel meer voordelen.

 

Het ontwikkelen van een applicatie met GEARS begint met het specificeren van het gewenste concrete eindresultaat van uw organisatie. Alle (bedrijfs)processen, oftewel stappen die nodig zijn om tot dit resultaat te komen, worden door GEARS automatisch afgeleid uit dit gewenste eindresultaat. Er is geen enkel ander softwareontwikkelplatform wat hiertoe in staat is. 

 

Maar GEARS gaat verder. Het zal conform een uitgebreide set van voorspelbare regels, richtlijnen en professionele software architectuur, ook alle onderliggende processen, schermen, databases, etc. gaan ontwerpen. Ook alle benodigde source code wordt automatisch gegenereerd. Het resultaat is een integraal werkend systeem volledig conform het door de klant gewenste en vastgelegde eindresultaat van uw organisatie en bovendien foutloos. Een systeem wat dus direct gebruikt kan worden. Mocht het niet voldoen aan de wens, dan leggen we deze aangepast wens vast en seconden later staat een aangepast systeem voor je klaar. Zo flexibel of Agile krijg je niet bij anderen.

 

GEARS biedt bovendien volledige vrijheid in het vastleggen van die wensen. Je wordt dus niet beperkt door de functionaliteit die door de standaard (no/low-code) bouwblokken geboden wordt. Bij no/low-code moet je in dergelijke gevallen terugvallen op conventioneel, tijdrovend en foutgevoelig programmeerwerk, terwijl je met GEARS ongehinderd efficiënt blijft. Dit maakt GEARS ook opvallend geschikt om complexe systemen te bouwen met uitgebreide workflows en gedetailleerde beslis- en rekenregels.

 

Als laatste verschil noemen we de vrijheid die GEARS biedt. GEARS is alleen een platform om een applicatie te ontwikkelen: de resulterende maatwerk-applicatie is, naar wens, volledig eigendom van de klant, en kan door de klant zelf gedeployed, onderhouden, aangepast en verbeterd worden. Alle componenten van de applicatie zijn gebaseerd op open-source standaarden, en kunnen dus zonder licentiekosten gebruikt worden. XLRIT zal met alle liefde het onderhoud van de applicatie op zich nemen, en kan dit dankzij GEARS ook effectiever dan andere partijen, maar van lock-in is bij maatwerk-ontwikkeling nooit sprake.

 

Op het gebied van schermontwerp biedt GEARS zowel voordelen als nadelen ten opzichte van no/low-code. GEARS ontwerpt ook de schermen en doet dit conform een set van schermontwerpregels en richtlijnen. Dit levert goede consistente schermen op, maar individuele aanpassingen per scherm zijn hierdoor moeilijker. Dat is ook de reden waarom GEARS en low-code tools wel eens gecombineerd worden. De low-code tool doet de speciale schermen (bijv. client facing schermen), GEARS alle schermen van de interne medewerkers. 

 

Verschillen low-code versus GEARS

De volgende tabel geeft per aspects een overzicht van de verschillen tussen de beste no-clow-code platformen en GEARS.

Aspect Low-code GEARS
Reqs & Specs No-/Low-code tools hebben meestal geen ondersteuning voor het opstellen van Reqs & Specs. Dit gaat met andere tools. Meestal MS Word of vergelijkbaar.  Er wordt geen gebruik gemaakt van een methode om fouten, omissies en ambiguïteiten te voorkomen. Alle tooling die GEARS gebruikt is op alle platformen gratis beschikbaar. Voor de niet visuele onderdelen van de klantwens (bij ons Reqs/Specs genoemd) wordt VS Code i.c.m. de GEARS extensie gebruikt. Die helpt in het maken van Reqs en Specs, maakt het overzichtelijk en voorkomt fouten. Voor visuele Reqs & Specs, vaak outputs, wordt Jaspersoft Studio gebruikt voor rapporten, WPS of MS Word voor documenten en een WYSIWYG zoals bijv. HTML Editor voor emails. Reqs & Specs worden opgesteld conform een geoptimaliseerde methode die Reqs & Specs zo kort en begrijpelijk mogelijk maakt en toch eenduidigheid afdwingt. Dit zorgt er ook voor dat Reqs & Specs activiteiten in GEARS trajecten vergelijkbare tijd kosten als reguliere trajecten.
Proces Modellering Alle vormen van procesmodellering, zowel bedrijfsprocesketens als lower level logica moeten handmatig opgesteld worden.  Bij grotere en of complexere processen wordt het steeds moeilijker, foutgevoeliger en minder overzichtelijk. Dit gaat volledig automatisch voor kleine systemen gemiddeld in 20 en grote complexe in 180 seconden. GEARS kan dit voor zowel kleine als ook grote complexe processen en zal hierin uiteraard nooit het overzicht verliezen.
Schermen Moeten handmatig ontworpen worden. Dit kan enkel at-design-time en niet at-run-time waardoor er nieuw handwerk nodig is bij gewijzigde omstandigheden. Dit biedt wel het voordeel dat per scherm gedetailleerde wijzigingen aangebracht kunnen worden. Dit gaat volledig automatisch. De schermen zijn altijd consistent en worden automatisch at-run-time aangepast aan omstandigheden. In de toekomst zijn ook detail wijzigingen at-runtime mogelijk door ervaren eindgebruikers. Bijv. m.b.v. drag-and-drop. Dat is echter op dit moment nog niet mogelijk.
Business logic Vereist met No-/Low-code lower level imperatief en foutgevoelig programmeerwerk in visueel geprogrammeerde in kleinere flows waarbij 1 stapje in de flow vaak overeenkomt met 1 programmeer statement. Bij grotere en of complexere functionaliteit wordt dit exponentieel arbeidsintensiever en foutgevoeliger. Dit gaat volledig automatisch op basis van de Reqs & Specs.
Foutgevoeligheid Handwerk, dus foutgevoelig. Dit is meer het geval bij complexere logica of grotere systemen. GEARS ontwerpt, programmeert automatisch, conform wens en zover bekend foutloos.
Tests Vereist het handmatig opstellen van lower level unit tests om de business logic te testen.  Higher level scherm tests moeten ook handmatig opgesteld worden. Hier zijn wel vaak record, edit en playback tools voor, maar die vereisen vaak handmatige aanpassing voordat ze geschikt zijn voor playback.  Er wordt niet voorzien in het opstellen van ketentestgevallen om bedrijfsprocessen te testen, maar dit kan met iets meer werk uiteraard middels bovengenoemde tests uitgevoerd worden door deze tests aan elkaar te knopen met bijv. test suites. Deze higher level tests kunnen enkel uitgevoerd worden via de GUI in "headless" of "headfull" mode, maar niet direct op de back-end en kosten daarom meer tijd om geautomatiseerd uit te voeren. Snelle regressietests zijn hierdoor moeilijk mogelijk of moeten beperkt worden in hun testdekking. Bij GEARS is het opstellen van lower level unittests en scherm tests niet meer nodig.  Scherm tests zijn in principe niet nodig. De hieronder genoemde ketentestgevallen kunnen wel ook als scherm tests gedraaid worden. Deze mogelijkheid is op dit moment echter nog in betà test stadium. Met GEARS zijn enkel ketentestgevallen nodig (om de Reqs & Specs te valideren). Deze kunnen met record en playback gemaakt worden. Alhoewel dit niet persé nodig is, kunnen recorded testgevallen worden aangepast. Testgevallen kunnen direct tegen de back-end uitgevoerd worden. Dit scheelt enorm veel tijd. Zo gaat 1 volledige regressietest run in minuten en niet in uren. Dit maakt het testen meer Agile en van hogere kwaliteit.
Visuele editor No-/Low-code heeft voor het ontwerpen van bedrijfsprocessen en schermen en voor veel van de business logic wordt een visuele "flow" editor gebruikt. Details invoeren per stapje in deze flow blijft niet visueel handwerk. Hoewel dit geen effect heeft op de productiviteit en kwaliteit van de uiteindelijke applicatie, maakt dit het eerste gebruik van No-/Low-code wel aantrekkelijker en het helpt in het voorkomen van fouten. Voor het ontwerpen en maken van de applicatie is geen (visuele) editor nodig omdat GEARS dit automatisch voor je uitvoert.
Traceerbaarheid De meeste No-/Low-code platformen bieden geen tooling voor het vastleggen van traceerbaarheid tussen bijv. de requirements en de uiteindelijke deliverables binnen No-/Low-code. GEARS verzorgt automatisch de traceerbaarheid van requirements tot de procesontwerpen en zelfs tot in de source code.  Er is ook traceerbaarheid tussen de requirements en de testgevallen. Dit betreft vooralsnog enkel een handmatig op te voeren link tussen bedrijfsprocessen en bijbehorende testgevallen. Deze wordt automatisch gecontroleerd zodra de tests worden uitgevoerd.
Vendor lock Bij gebruik van No-/Low-code ben je daarna afhankelijk van het No-/Low-code platform voor het aanpassen van de functionaliteit als ook het runnen van de applicatie.  GEARS gecreëerde applicaties kunnen ook zonder GEARS aangepast en uitgevoerd worden. Dit kan met reguliere ontwerp- en ontwikkeltools en mainstream open source technologieën. Alle source code maakt enkel gebruik van open source componenten en is consistent en goed onderhoudbaar. 

Alle oplossingstypes op een rij