Calculerende applicaties, maar dan gebaseerd op procesdenken

Applicaties zijn er in vele soorten en maten, van volledige ERP systemen tot branche, organisatie of zelfs product specifieke tools. Zij hebben allemaal gemeen dat zij zijn bedoeld om gebruikers te ondersteunen bij hun werkzaamheden. Binnen technische beroepen lijken vooral rekenkundige tools een uitkomst voor de gebruiker. Zij kunnen ondersteunen bij het maken van complexe berekeningen en afwegingen, en dat veel sneller dan de gebruiker dat zelf zou kunnen. Hierdoor kan de gebruiker zich richten op de kerntaken en het werkproces, en het ‘zware werk’ overlaten aan de applicatie. Applicaties rekenen immers vele malen sneller dan de mens, dus tel uit je winst… Nu denkt de doorgewinterde techneut natuurlijk gelijk: Ah, spreadsheet! Ja, dat kan, maar vanuit beheer overwegingen zijn er steeds meer organisaties die hier nu juist vanaf willen. Daarnaast hebben spreadsheet natuurlijk ok zo hun beperkingen.

Maar zoals bij de spreekwoordelijke medaille, is er ook hier een keerzijde aan deze rekenkundige applicaties. Natuurlijk is het zo dat standaard berekeningen die een hoog repeterend karakter hebben relatief gemakkelijk in een applicatie zijn onder te brengen. Maar wat is er tegenwoordig nog standaard? In een tijd waarin we te maken hebben met klantwensen, regelgeving, normeringen en wellicht nog vele andere zaken die de inhoud van de calculatie beïnvloeden, is standaard relatief, en helaas vaak ver te zoeken. Het gevolg is dat dus ook de rekenkundige applicaties met vele variabelen rekening moeten kunnen houden. Geen probleem toch, hoor ik u denken… Dat klopt, geen gebrek aan technische oplossingen inderdaad. Maar wordt hiermee de oplossing niet ingewikkelder dan het oorspronkelijke probleem? Wordt het gebruik van zo’n applicatie dan niet ineens erg complex of onoverzichtelijk? Helaas leert de praktijk dat het er inderdaad niet eenvoudiger op wordt. Invoerschermen worden nog te vaak een vergaarbak aan variabelen, wat de kwaliteit en het gebruiksgemak niet ten goede komt. Ook wordt hierdoor snel het overzicht verloren, waarmee de fout-kans aanzienlijk toeneemt. Dit laatste was nu net wat de applicatie diende te voorkomen.

Gelukkig kan het ook anders, en de oplossing is niet eens zo vergezocht. In plaats namelijk van het sec ondersteunen van het calculeren, kan ook het calculatie proces worden ondersteund. Onderdeel van dit proces is namelijk het interpreteren en toepassen van alle variabelen van de calculatie. Dit is iets wat tot de kerntaken van de gebruiker behoort, maar kan natuurlijk ook prima ondersteund worden. Vooral als het gaat om bijvoorbeeld uitsluitingen van bepaalde variabelen. Een eenvoudig voorbeeld: product A kan niet worden gebruikt samen met product B, of indien de functie ‘verwarmen’ wordt gekozen, komen er geen koel elementen voor. En dan ineens geldt weer, dat een applicatie deze afwegingen vele male sneller kan maken dan de gebruiker. Die moet dit immers vaak opzoeken in documentatie of referentielijsten. Maar hiermee worden die complexe invoerschermen niet eenvoudiger…

Nou, toch wel. Immers als we het proces van de gebruiker volgen, wordt elke keuze gemaakt wanneer deze van toepassing is. Hiermee wordt het invoerscherm dus alweer een stuk eenvoudiger, omdat de verschillende processtappen ook verschillende specifieke invoerschermen hebben. Zo blijft het proces, en dus ook de applicatie overzichtelijk. Denk hierbij maar eens aan een webshop. Hier kan uitgebreid worden gezocht naar producten en informatie, en worden slecht die producten vastgelegd die de gebruiker kiest. Indien vervolgens de winkelmand moet worden afgerekend, komt de gebruiker in een ander proces terecht. Ook dit proces wordt dan weer optimaal ondersteund, en moet de gebruiker ook hier weer slecht de relevante informatie invoeren. Voor het creëren van succesvolle applicaties waarin complexe berekeningen met veel variabelen moeten worden gedaan, verdient het dus aanbeveling de applicatie in lagen op te bouwen. De hoeveelheid aan lagen is natuurlijk afhankelijk van de complexiteit van het proces.

Een applicatie die op basis van een lagenstructuur is opgebouwd, biedt naast het verbeterde overzicht, ook nog andere voordelen. Zo wordt het bijvoorbeeld eenvoudiger als er meerdere afdelingen moeten werken in hetzelfde proces. Zo kan bijvoorbeeld een adviseur al de eisen en wensen bij een bepaald project vastleggen. Vervolgens kan de engineer hiervan een technisch ontwerp maken en kan de projectafdeling een urencalculatie maken. Allemaal in dezelfde applicatie en hetzelfde proces. En dan is er nog een voordeel: alle informatie wordt hierdoor bijeen gehouden, waardoor iedereen in dezelfde versie van de waarheid werkt. Dit werkt kwaliteit verhogend en verminderd faalkosten. Dus geen lastig versiebeheer meer of het bij-elkaar-schrapen van de verschillende bestanden en overzichten, die de fout-kans vergroten.

Feit is wel dat het definiëren van applicaties met een lagen structuur zoals hier besproken minder eenvoudig is. Het vergt behoorlijke vaardigheid met denken in processen en het generiek kunnen maken van de verschillende processtappen. In de praktijk blijkt het echter een goede spiegel voor het nu gehanteerde proces. Maar wees gerust, wie deze extra voorbereiding doet alvorens te gaan praten met een applicatieontwikkelaar, zal er zeker een zeer veelzijdige en goed ondersteunende applicatie aan over houden…

Structureren, ook van applicaties. Welkom in onze wereld…

Processen knippen en plakken: de menselijke manier?

“Wat mooi was voor de Grieken, was grof voor de Romeinen”. Hoewel dit klinkt als een stoffig verhaal uit de geschiedenis der mensheid, is deze uitspraak ook in deze tijd nog steeds van toepassing. Je zou het kunnen interpreteren als: ”Wat werkt voor jullie, hoeft nog niet voor ons te werken.”. Hiermee heeft deze uitspraak direct alweer een beetje de Lees verder