Agile manifesto

Onze nieuwe projecten starten met korte sprints die als doel hebben een foto te maken van de toekomst. We gebruiken hierbij factbase modellingstechnieken gecombineerd met ons low-code platform Karooda. Hiermee kunnen we de feiten achterhalen, vastleggen en direct omzetten in een (gegenereerde) applicatie. Door het gebruik van deze stand-alone applicatie kan de productowner direct beoordelen of de feiten juist zijn geïnterpreteerd. Bij eventuele afwijkingen van de verwachtingen en het voortschrijdend inzicht is de productowner in staat om binnen een beperkt aantal iteraties zeker te stellen dat hetgeen ontwikkeld wordt overeenkomt met de behoefte van de organisatie.

Masters in software development

De aanpak met Karooda is de factor voor succes

 

Business context en –doelen centraal

Het bedrijfsproces is, in termen van data en universele datadefinities, uitgangspunt via fact based modeling.

   

Leidt tot hoogstaande kwaliteit

Weinig softwarefouten, weinig reparatie, dus efficiënt testen.
Weinig interpretatiefouten.

 

Garandeert beheers­baarheid

  • Agile werkwijze.
  • High tech low-code ontwikkelstraat.
  • Altijd terug naar common ground: het model.
 

Korte time-to-deliver

Besparing in doorlooptijden:

  • Ontwikkeltijd (50%)
  • Bouw meer dan 50% (70% gegenereerde software, 30% voor custom code).
  • Testen (65%).
  • Beheer van software (65%)

De onderdelen van de aanpak

Werkwijze:

Onze aanpak start met een snelle analyse (agile/scrum/workshops). Lees meer over het Agile Manifesto. In een beperkt aantal sessies worden de functionele eisen omgezet in een begrijpelijk datamodel. Geen jargon, maar gestructureerde, duidelijke Nederlandse of Engelse taal.

Dit model is input voor Karooda, ons low-code platform, die automatisch, in enkele minuten, een volledig werkend systeem genereert (inclusief het aanklikken van modules). Dat gebeurt meestal in een aantal iteraties, waarbij steeds geverifieerd kan worden wat het effect van de laatste aanpassing of uitbreiding van het model is. Het aantal iteraties is ongelimiteerd omdat genereren minutenwerk is.

Tenslotte wordt voor zover nodig maatwerk/custom code gemaakt. De applicatie wordt getest, waarbij doorlooptijd zeer kort is doordat ontwerp of programmeerfouten in het overgrote (gegenereerde) deel niet aangetroffen worden.

Meerwaarde van deze aanpak

Betere kwaliteit.
Gegenereerde software bevat 0 fouten. Modellering “dwingt” kwaliteit af. Communicatie met eindgebruikers effectiever (in modelleringsactiviteit).

Korte doorlooptijden.
Testen verloopt in minder iteraties. Technisch Ontwerp en bouw kosten weinig tijd. Lees meer in verbeteringen.

Nieuwe versies worden niet aangepast maar opnieuw gegenereerd waardoor de kwaliteit gewaarborgd blijft. Lees meer in wijzigingsbeheer.

De aanpak in detail

GorillaIT heeft het Agile concept en de totaal aanpak gecombineerd met inzichten die onder de naam (Enterprise) DevOps worden gehanteerd. Ons low-code platform Karooda verhoogt de kwaliteit van de output (software) en verhoogt de ontwikkelsnelheid en verkort de ontwikkeldoorlooptijd.

Architectuur SuperAgile Business
Architectuur SuperAgile DevOps

1. Voorbereidende fase

Deze cruciale fase waarin user stories en mindmaps vaak worden gebruikt, resulteert in modellen, die de basis zijn waarnaartoe (bij wijzigingen) ook steeds wordt teruggekeerd.

  • Fact based modeling
  • Workflow proces modeling

Voor Fact based modeling wordt ORM als regel gebruikt. Ook Doctool output en information schema’s kunnen worden gebruikt in ons low-code platform Karooda.

2.Genereren

Op basis van de modellen wordt de applicatie in zijn basis samengesteld, zie ook de architectuurschets. Dat leidt tot:

  • Gegenereerde applicatie, met database en autorisaties op basis van gemodelleerde kennis in de repository.
  • Workflow voor gebruikersinterface en autorisaties, dynamsich muteerbaar, ingericht met authenticatie en autorisatie.
  • Middleware & Webservice; biedt functionaliteiten aan voor applicaties van derden.
  • Editor.

3. Selecteren features en modules die geïntegreerd worden

Er zijn features en modules die toegevoegd worden aan de gegenereerde code.

Features zijn wel of niet te activeren. Zij behoren tot het domein van ons low-code platform Karooda.

Modules worden specifiek aangeklikt. De beschikbare modules zijn in de onderstaande figuur afgebeeld.

4. Maken van custom code

De gegenereerde applicatie kan worden uitgebreid door inbreng van mensen (programmeurs, engineers), die .NET code en/of SQL maken. Dat wordt “custom code” genoemd.

Het wijzigingenbeheer (doorvoeren en managen van wijzigingen) verloopt uiterst beheerst. Uitgangspunten daarvoor zijn:

  • Altijd terug naar de basis: de modellen.
  • Adequaat versiebeheer.
  • Management van het wijzigingsproces (veiligstellen custom code, veiligstellen productiedata) in Karooda, ons low-code platform.


In onderstaande figuur zijn de samenstellende delen van de te realiseren applicaties architectonisch verbeeld.

Gegenereerde applicatie en aanklikbare modules

Productiviteit en de GorillaIT aanpak

De aanpak van GorillaIT leidt tot winsten op het gebied van kwaliteit en snelheid (en daardoor kosten).

De belangrijkste oorzaken:

  • Het maken van een ORM model is efficiënt en leidt tot tot een minimaal aantal fouten en resulteert in optimale communicatie tussen mensen zonder en mensen met IT kennis.
  • Het gebruik van ons low-code platform Karooda leidt tot efficiënt produceren van software: geen technisch ontwerp, geen bouw.
  • Het samenspel tussen modelleren en genereren met Karooda leidt tot de mogelijkheid het ontwerp (het model) frequent en diepgaand te toetsen, gebruik makend van een werkende applicatie; de validatie wordt door het werken in mini sprints sterk bevorderd. Resultante is effectieve communicatie en minder fouten.

Verbeteringen: GorillaIT ervaringscijfers

(NB: Onafhankelijk onderzoek in een specifieke situatie bij een klant leidde tot verbeteringen die verdergaand zijn dan onderstaande gemiddelden).

Activiteit

Verbetering

Business Analyse en Ontwerp Effectief toepassen Agile en ORM: besparing doorlooptijd t.o.v. “conventioneel”: 50%.
Technisch ontwerp Voor het gegenereerde deel van de applicatie is deze activiteit overbodig. De ontwerper heeft weinig ongewenste vrije ruimte als het om de architectuur gaat, dit geeft maximale beheersbaarheid. Besparing vrijwel 100%.
Bouw Genereren basisapplicatie en aanvullende custom code samen leiden tot besparing doorlooptijd t.o.v. “conventioneel” van 70%.
(NB: dit is wel afhankelijk van hoeveelheid benodigd maatwerk).
Testen GorillaIT beveelt aan “gewoon” te testen. Het aantal fouten dat wordt gevonden is beduidend lager dan in conventioneel: (dus weinig debugging en weinig herhaalde proefgevallen). Fouten in de specificatie zijn geminimaliseerd door de modelleringsaanpak die zeer gebruikersvriendelijk is. Vanwege overall zeer lage foutenkans besparing doorlooptijd t.o.v. “conventioneel”: 65%.
Implementatie Geen effect; werkwijze als gewoonlijk.
Productie Idem voor initiële activiteiten. Het werken volgens de GorillaIT aanpak betekent voor productie en beheer ook forse besparingen bij de behandeling van wijzigingen.

Workflow

Met de workflowmodeller wordt d.m.v. een transactietabel aangegeven wat processtappen zijn en wat de volgorde is waarin ze worden doorlopen. Daarbij wordt rekening gehouden met resultaten uit een processtap, die invloed hebben op de keuze van vervolgstappen.

Werkwijze

Per entiteit uit het ORM model wordt een model (transactietabel) gemaakt met:

  • Activiteiten of processtappen, die betrekking hebben op de entiteit.
  • Mogelijke statussen voor een activiteit (meer dan 1 status per activiteit mogelijk).
  • Business Rules.

Mogelijkheden

  • De flow is dynamisch te wijzigen in de gebruiksfase.
  • Het is mogelijk te bepalen hoeveel “gevallen” in een bepaalde status in behandeling zijn en dat kan weergegeven worden in grafieken.
  • Er wordt inzicht in workload per groep (bijv. sales) gegeven; dat is behulpzaam bij taakverdeling en is dus ook bevorderlijk voor functiescheiding.

Wijzigingsbeheer en Custom Code: Uitgangspunten

Indien er behoefte is aan een wijziging worden de volgende activiteiten uitgevoerd:

Algemeen:

  • Vaststellen specificatie van de wijziging. GorillaIT gebruikt daarvoor als regel Mind Map en use cases/user stories.
    De bestaande werkwijze kan gewoon gevolgd blijven worden.
  • Maken van een plan (incl. begroting en planning).
  • Besluitvorming, go/no-go.

In het kader van de GorillaIT werkwijze:

In de ontwikkelomgeving in 1 of meer iteraties cq mini sprints:

  • Wijzigingen doorvoeren in de modellen.
  • Vaststellen eventuele wijzigingsbehoefte in custom code.
  • Veiligstellen custom code (vereist geen speciale handeling).
  • Automatisch opnieuw maken van:
    • Gegenereerde applicatie, met database en autorisaties op basis van gemodelleerde kennis in de repository.
    • User interface, komt tot stand met behulp van workflowprocesmodeler en de editor voor de opmaak van schermen.
    • Middleware & Webservice; biedt functionaliteiten aan voor applicaties van derden.
    • Modules die “aangeklikt” zijn (zoals Active Directory etc.).
    • Rechten, authenticatie & autorisatie.
  • Wijzigen custom code (in de voorgaande iteraties meegenomen of separaat).
  • Beoordelen/testen.

Na acceptatie:

  • Geautomatiseerd veiligstellen productiedata.
  • Deploy
  • Geautomatiseerd terugzetten productiedata.

Geïnteresseerd?

Graag kijken wij samen met u naar een of meer processen uit uw organisatie. Ter plekke modelleren wij dat samen met één of meer medewerkers van de organisatie en een werkende basisapplicatie wordt gegenereerd. Op basis daarvan spreken we af welk advies of welk voorstel u wilt.

Wendbare organisaties door

model based software generation