Ondernemingen, overheden, non-profitorganisaties of kleine teams, ongeacht hun omvang of type, ontplooien organisatorische activiteiten.
Organisatorische activiteiten bestaan uit meerdere bedrijfsprocessen.
Bedrijfsprocessen kunnen worden opgesplitst in taken. Een bedrijfsproces functioneert wanneer afdelingen en individuen binnen een organisatie de aan hen toegewezen taken uitvoeren als onderdeel van hun respectievelijke rollen.
Op deze manier functioneren, naarmate individuele bedrijfsprocessen functioneren, ook de organisatorische activiteiten als geheel.
Objectgeoriënteerde software
In de wereld van softwareontwikkeling is het concept van objectgeoriënteerde software ontwikkeld, samen met daarop gebaseerde ontwerpmethodologieën en programmeertalen.
Voorheen werd software ontworpen waarbij data en verwerking gescheiden waren, en de definities van data en verwerking waren onafhankelijk binnen het programma.
Hierdoor konden definities van nauw verwante data en verwerking dicht bij elkaar in het programma worden geplaatst, of op volledig gescheiden locaties.
Ongeacht de plaatsing was er geen verschil in hoe de computer het programma verwerkte.
Aan de andere kant, bij het wijzigen of toevoegen van functies aan een ontwikkeld programma, verschillen de efficiëntie van het werk en de kans op bugs aanzienlijk, afhankelijk van de kwaliteit van de plaatsing.
Als definities van nauw verwante data en verwerking verspreid zijn over een programma van tienduizenden of honderdduizenden regels, wordt het aanbrengen van wijzigingen buitengewoon moeilijk.
Objectgeoriënteerde software is een fundamenteel concept voor het oplossen van dergelijke problemen.
Met andere woorden, het is het idee dat nauw verwante data en verwerking duidelijk moeten worden gecompartimenteerd en binnen hetzelfde compartiment in het programma moeten worden geplaatst, waardoor het gemakkelijker te begrijpen is bij latere wijzigingen aan het programma.
Dit compartiment voor data en verwerking is het concept dat een "object" wordt genoemd.
Het is ook belangrijk om software vanaf de ontwerpfase te ontwerpen rond de eenheid van "objecten".
Aan de andere kant zijn we over het algemeen gewend om verschillende dingen als objecten waar te nemen.
Wanneer we bijvoorbeeld een wektijd instellen op een wekker, gaat het alarm op dat tijdstip af. We erkennen dat een wekker, als object, data (de wektijd) en verwerking (het afgaan van het alarm) bezit.
Het is logisch om software te ontwerpen en te implementeren op een manier die aansluit bij deze algemene menselijke waarneming. Dit is de reden waarom objectgeoriënteerde software wijdverspreid raakte.
Bedrijfsprocesgeoriënteerde Software
Ik heb een overzicht gegeven van organisatorische activiteiten en objectgeoriënteerde software.
Hier wil ik een nieuwe benadering voor softwareontwikkeling voorstellen: Bedrijfsprocesgeoriënteerde Software.
Zoals uitgelegd in de bespreking van objectgeoriënteerde software, biedt het ontwerpen van software op een manier die aansluit bij de menselijke perceptie aanzienlijke voordelen bij het wijzigen of toevoegen van functies aan software.
Bij het benutten van software in organisatorische activiteiten, zou het plaatsen van gerelateerde informatie en functies binnen het conceptuele compartiment van een bedrijfsproces – wat de fundamentele eenheid van organisatorische activiteit is – eenvoudigere wijzigingen en toevoegingen van functies moeten vergemakkelijken.
Dit is het fundamentele concept achter Bedrijfsprocesgeoriënteerde Software.
Handleidingen en invoerinformatie
In relatief grote bedrijven worden typische bedrijfsprocessen vaak gemanualiseerd. Bedrijfsprocessen die duidelijk genoeg zijn gedefinieerd om te worden gemanualiseerd, worden ook wel workflows genoemd.
Bedrijfssystemen die door algemene software worden gerealiseerd, zijn systemen die deze workflows belichamen. Een bedrijfsproces wordt gerealiseerd wanneer elke verantwoordelijke persoon of afdeling informatie in het bedrijfssysteem invoert volgens de workflow.
Hier zijn de bedrijfshandleiding, het bedrijfssysteem en de invoerinformatie zeer nauw verwant.
Echter, in het hier beschreven mechanisme zijn deze drie nauw verwante elementen verspreid.
Het concept van bedrijfsprocesgeoriënteerde software stelt dat deze één coherente eenheid moeten vormen.
Stel je een document voor waarin de bedrijfshandleiding in één bestand is geschreven, en er ook velden zijn voor elke verantwoordelijke persoon of afdeling om informatie in te voeren.
Veronderstel bovendien dat de contactgegevens van de volgende verantwoordelijke voor elke taak ook specifiek zijn vermeld.
Dan zie je dat alle elementen van het bedrijfsproces zijn opgenomen in dit invoerformulierbestand met een bedrijfshandleiding.
Als dit bestand wordt aangemaakt en aan de verantwoordelijke voor de eerste taak wordt overhandigd, zal het bedrijfsproces verlopen volgens de beschreven handleiding. En tenslotte, wanneer alle in te voeren informatie is ingevuld, zal één bedrijfsproces zijn voltooid.
Dit bestand is de bedrijfsprocesgeoriënteerde software zelf, waarbij het concept van bedrijfsprocesgeoriënteerde software is toegepast.
En naarmate verschillende typen bedrijfsprocesgeoriënteerde software functioneren, zal de gehele organisatorische activiteit functioneren.
De Software Zelf
Eerder beschreef ik het invoerinformulierbestand met een bedrijfshandleiding als de bedrijfsprocesgeoriënteerde software zelf.
Sommigen hebben misschien gedacht dat dit zou leiden tot een discussie over het ontwikkelen van programma's of systemen.
Dat is echter niet het geval.
Ongeacht programma's of systemen functioneert dit bestand zelf als bedrijfsprocesgeoriënteerde software.
Zoals eerder uitgelegd, als dit bestand wordt aangemaakt en naar de eerste verantwoordelijke wordt gestuurd, zal het vervolgens worden doorgegeven aan de verantwoordelijke voor elke taak, en zal het daarin beschreven bedrijfsproces worden uitgevoerd.
Natuurlijk kan men op basis van dit bestand programma's of systemen ontwikkelen om de daarin beschreven workflow te realiseren.
Hoe groot is echter het verschil tussen het gebruik van zo'n systeem en het simpelweg doorgeven van dit bestand zelf tussen de verantwoordelijke partijen?
Hier moet worden opgemerkt dat het ontwikkelen van programma's of systemen de handleiding scheidt van de verwerking.
Deze scheiding druist in tegen de bedrijfsprocesgeoriënteerde benadering. Met andere woorden, het bemoeilijkt verbeteringen en functietoevoegingen aan bedrijfsprocessen.
Dit wordt onmiddellijk duidelijk als je je een scenario voorstelt waarin de bedrijfshandleiding wordt gewijzigd.
Elke keer dat de procedure van een bedrijfsproces verandert, moeten programma's en systemen dienovereenkomstig worden aangepast.
Om deze reden moet de bedrijfshandleiding van meet af aan grondig worden verfijnd, wat het manualiseren tijdrovend maakt. Bovendien, zelfs als de handleiding wordt gewijzigd, wordt dit niet onmiddellijk weerspiegeld in de programma's of systemen.
Naast het probleem van de benodigde tijd, zijn er ook renovatiekosten.
Dit betekent dat bedrijfsprocessen en handleidingen niet gemakkelijk kunnen worden gewijzigd.
Aan de andere kant, als programma's en systemen niet worden ontwikkeld, en in plaats daarvan de invoerinformulierbestanden met bedrijfshandleidingen worden uitgewisseld tussen verantwoordelijke partijen, dan worden de ontwikkelingsperiode en de onderhouds-/operationele kosten voor programma's en systemen overbodig.
Uitvoerbare Software
Sommigen vragen zich misschien af waarom dit bestand "software" wordt genoemd.
De reden is dat dit bestand een uitvoerbaar bestand is. Het wordt echter niet als een programma op een computer uitgevoerd; het is eerder software die door mensen wordt uitgevoerd.
Een bedrijfshandleiding is als een programma voor mensen. En de invoervelden zijn als opslaglocaties voor gegevens in het geheugen of een database.
Op deze manier bekeken is het niet onjuist om dit bestand te beschouwen als software die door mensen wordt uitgevoerd.
Uitvoerende Agent
De taken die in bedrijfsprocesgeoriënteerde software zijn vastgelegd, kunnen worden uitgevoerd door mensen of door kunstmatige intelligentie.
Zelfs voor een enkele taak kunnen er gevallen zijn waarin AI en mensen samenwerken, of waarin alleen mensen of alleen AI de taak uitvoeren.
Kunstmatige intelligentie kan ook de bedrijfshandleiding in dit bestand lezen en de juiste verwerking uitvoeren.
Daarom wordt dit bestand uitvoerbare software voor zowel mensen als kunstmatige intelligentie.
AI-ondersteuning
Allereerst voert de kunstmatige intelligentie het bestand uit. Daarbij leest het de bedrijfshandleiding in het bestand en begrijpt het de inhoud die verwerkt moet worden.
Sommige delen van deze verwerking kunnen direct door de AI worden uitgevoerd, of informatie kan door de AI in de invoervelden worden ingevoerd.
Aan de andere kant vereisen sommige delen menselijke verwerking of informatie-invoer.
Voor deze delen informeert de AI de mens en moedigt hen aan om de verwerking uit te voeren of de informatie in te voeren.
Op dit punt kan de AI de presentatiemethode aan de mens aanpassen op basis van de inhoud van de menselijke verwerking of invoerinformatie.
Basis methoden voor presentatie aan mensen kunnen zijn: het overbrengen van noodzakelijke taken via tekstchat of voicechat, of het uitvragen van in te voeren informatie.
Er is ook de methode om het bestand direct te openen. Als het bestand bijvoorbeeld tekst is, wordt een teksteditor geopend.
Een geavanceerdere methode omvat het extraheren van de noodzakelijke taken en invoerinformatie, en vervolgens het genereren van een tijdelijk bestand voor een toepassing die gemakkelijk is voor mensen om mee te werken, gebaseerd op die inhoud, en deze uit te voeren.
Als invoer bijvoorbeeld in tabelformaat is vereist, kan een spreadsheetbestand worden gegenereerd voor de mens om informatie in te voeren. De informatie die in het tijdelijke bestand wordt ingevoerd, wordt vervolgens door de AI overgeschreven naar de invoervelden van het oorspronkelijke bestand.
Een nog geavanceerdere methode is het programmeren van een on-demand applicatie met een gebruikersinterface die past bij het bestand en de taken/invoerinformatie die van de mens vereist zijn.
Op deze manier, wanneer een taak is voltooid, hetzij door AI-automatisering of door AI die menselijk werk en invoer assisteert, draagt de AI het bestand over aan het contactadres van de persoon die verantwoordelijk is voor de volgende taak zoals beschreven in de bedrijfshandleiding.
Door de AI op deze manier mensen te laten assisteren, kan een systeem worden gerealiseerd waarbij mensen alleen de minimaal noodzakelijke taken efficiënt hoeven uit te voeren via een gebruiksvriendelijke gebruikersinterface.
AI-vriendelijke bestanden
Bedrijfsprocesgeoriënteerde software kan in principe elk bestandsformaat hebben.
Echter, met het oog op AI-ondersteuning, is een bestandsformaat dat gemakkelijk door AI kan worden verwerkt, geschikt als basisbestandsformaat. Markdown-geformatteerde tekstbestanden zijn een typisch voorbeeld.
Het zou ook goed zijn om basisregels voor de inhoud vast te stellen. Aangezien AI ondersteuning biedt, kunnen deze basis schrijfregels ook flexibel worden aangepast of uitgebreid.
Kennisaccumulatie en Bedrijfsprocesverbetering
Bedrijfsprocesgeoriënteerde software stelt organisaties in staat om nieuwe bedrijfsprocessen toe te voegen of bestaande te wijzigen door simpelweg bestanden aan te maken of te wijzigen die handleidingen en invoervelden combineren, zonder de ontwikkeling van programma's of systemen.
Bovendien is het cruciaal om contactinformatie voor een contactpunt binnen de bedrijfshandleiding op te nemen voor vragen of verbeterverzoeken met betrekking tot dat bedrijfsproces.
Dit vermindert aanzienlijk de tijd en moeite die AI of mensen besteden aan het worstelen met onzekerheden of het zoeken naar informatie. Bovendien, aangezien vragen, antwoorden en verbeterverzoeken op één contactpunt worden gecentraliseerd, accumuleert bedrijfsproceskennis op natuurlijke wijze en kunnen bedrijfsprocessen met hoge frequentie worden verbeterd.
De taken van het systematiseren en organiseren van geaccumuleerde kennis, of het wijzigen van bedrijfsprocesgeoriënteerde software in reactie op verbeterverzoeken, kunnen ook automatisch door AI worden uitgevoerd of door AI worden ondersteund.
Bovendien kan, indien nodig, nieuwe bedrijfsprocesgeoriënteerde software worden gecreëerd om nieuwe bedrijfsprocessen aan de organisatie toe te voegen.
Snel lerende organisatie
Op deze manier, door het concept van bedrijfsprocesgeoriënteerde software en automatisering/ondersteuning door kunstmatige intelligentie, kan de organisatie als geheel op natuurlijke wijze kennis accumuleren en voortdurend zichzelf verbeteren.
Dit kan worden omschreven als een snel lerende organisatie.
Dit maakt veel efficiëntere organisatorische activiteiten mogelijk dan traditionele organisaties.
Ondertussen hoeven mensen, met AI-ondersteuning voor individuele taken, slechts minimale werkzaamheden te verrichten via gebruiksvriendelijke interfaces.
Daarom hoeven mensen geen enorme hoeveelheden informatie te leren of elk detail van frequent veranderende bedrijfsprocessen te begrijpen.
In tegenstelling tot mensen kan kunstmatige intelligentie alle nieuwe bedrijfshandleidingen onmiddellijk en moeiteloos opnieuw lezen. Bovendien heeft het geen tijd nodig om te wennen aan nieuwe bedrijfsprocessen en klampt het zich niet vast aan eerdere.
Aldus worden de onderdelen waar mensen moeite mee hebben, zoals het leren van grote hoeveelheden handleidingen en het aanpassen aan veranderingen in bedrijfsprocessen, geabsorbeerd door kunstmatige intelligentie.
Dit is hoe een snel lerende organisatie kan worden gerealiseerd.