De toekomst van een enterprise

[opiniestuk] De tijd van maandelijkse releases die mbv MS Word documenten door anderen in Acceptatie en Productie werden geīnstalleerd herinner ik mij nog goed. Pijn. Moeite. Frustratie. Bij mij. Bij hen. En procedures. Heel veel procedures. Voor een Enterprise, een (groot) bedrijf is dit niet lang geleden of zelfs nog actueel. Maar in een tijd dat de technologie zo aanwezig is in ons dagelijks leven, waar we met onze smartphone opstaan en naar bed gaan, waar we televisie kijken niet meer televisie kijken kunnen noemen, want wie kijkt er nog op dezelfde tijden naar dezelfde programma’s? Hoe gaat een Enterprise hier mee om? Hoe pas ik mij aan? Moet ik mij aanpassen?

Het antwoord is natuurlijk: JA! Aanpassen moet. Waarom? Om te overleven. Om te blijven bestaan. Om te kunnen groeien. En … omdat het leuk is! De nieuwe wereld is FUN! De nieuwe wereld helpt. De nieuwe wereld is beter 🙂  Hier volgt mijn persoonlijke view op de toekomst van een Enterprise.

In een Enterprise, een groot bedrijf, is er behoefte aan verschillende functies. Elk bedrijf wil inkomsten genereren met hun ‘core business’. Deze core business bevat veel IT en automatisering. En dit moet ‘top of the bill’ zijn, want hoe beter en mooier, des te meer inkomsten er gegenereerd worden. En elk bedrijf heeft vervolgens de noodzaak om die pegels dan ook binnen te halen. Met andere woorden: factureren, klantbeheer, support, etc. En elk bedrijf heeft medewerkers en (dus) een HRM systeem, hardware (laptops, telefoons, etc) en andere infrastructuur om te kunnen inloggen en ‘je ding te kunnen doen’. Elke functie wordt apart geleverd in de Enterprise en alle functies integreren met elkaar.

Elke functie bevat een groot deel IT en automatisering en elke functie wordt geleverd door de best passende oplossing. Voor de standaard functies zijn dat vooral kant en klare services afgenomen bij een leverancier. Functies die niet goed geleverd kunnen worden door leveranciers of beter geleverd kunnen worden door zelf te ontwikkelen, worden zelf ontwikkeld. In alle gevallen heeft elke functie een eigenaar en een team van mensen die zorg dragen dat de functie goed wordt uitgevoerd en verder wordt ontwikkeld. Nieuwe functionaliteit, ondersteuning en garantie van de beschikbaarheid. Van elke functie is bekend wat de toegevoegde waarde is (in geld) en wat de kosten zijn. En in een gezonde Enterprise levert elke functie meer waarde dan dat de kosten zijn 🙂

Om de integratie gemakkelijk te maken met allerlei leveranciers van functies is elke functie direct toegankelijk via het internet. Klanten hebben alleen een browser nodig, tenzij specifieke software nodig is natuurlijk (bijvoorbeeld GIS pakketten oid). Medewerkers hebben (ook) alleen een browser nodig. De functies die zij gebruiken, zijn onafhankelijk van de hardware waar zij mee werken. Is dat een laptop van enig soort of een tablet of een (lightweight) desktop? Geen verschil en geen onderscheid in gebruik. Nogmaals: dit betekent dat alle functies via internet toegankelijk moeten zijn en allemaal met elkaar moeten integreren.

Er zijn verschillende functies. De belangrijkste functies zijn natuurlijk de core business. En er zijn primaire functies die de core business ondersteunen. Er zijn ook (veel) ondersteunende of secundaire functies nodig om alle primaire functies te ondersteunen. Medewerkers moeten kunnen inloggen en met hun account (één en niet één per functie) geautoriseerd gebruik kunnen maken van alle functies. Inloggen en het beheer van hun identiteit is een ondersteunende functie (tenzij dat de core business is natuurlijk 😯 ). En ook ondersteunende functies moeten toegankelijk zijn via het internet. Bijvoorbeeld voor authenticatie betekent dit dat medewerkers een publieke identiteit moeten hebben. En dat elke functie (waar autorisatie van toepassing is … en welke is dat niet?) ondersteuning voor deze identiteit moet hebben.

Naast toegankelijkheid via internet is elke functie altijd beschikbaar. Altijd als in 24/7 met alleen onbeschikbaarheid bij calamiteiten. En deze zijn er weinig tot niet (toch? 😉 ) Dat houdt in dat functies met nieuwe functionaliteit worden uitgerold zonder onbeschikbaarheid. Misschien incidenteel nog korte en geplande ‘in service’ onbeschikbaarheid? Maar meer zeker niet! Ook niet als de functie veel meer gebruikt wordt dan oorspronkelijk verwacht en ontworpen … Niet ten ondergaan aan eigen succes. Nee, elke functie kan eenvoudig (en automatisch?) opschalen om hoger gebruik te ondersteunen. En nieuwe functionaliteit wordt uitgerold terwijl gebruikers er mee werken.

Maar …

Maar hoe? Hoe doe ik dit? Hoe doe ik dit als een bestaande Enterprise … met pijnlijke maandelijkse releases?

Tja, als bedrijf met pijnlijke maandelijkse releases is de verandering wel heel groot. Bovendien ontwikkelen functies zich zo snel dat een langzame verandering te kostbaar is en/of wellicht niet haalbaar. Ik vraag me af: Is het mogelijk om nieuwe (versies van) functies zoveel mogelijk naast de bestaande functies op te bouwen en te integreren? Als een aantal functies echt top werken en alleen de integratie is nog wat moeizaam, moeten de kosten dan niet in de integratie gaan zitten ipv in matige functies leveren? Anyways, eerst maar eens de ingrediënten benoemen die voorwaardelijk zijn om de Enterprise van de toekomst te bouwen.

In het kort: Agile. Maar wacht! Niet Scrum. Niet ‘wij zijn een Agile bedrijf en we werken zo’. Nee, míjn Agile. Agile zoals in het manifesto beschreven. Het gaat om mensen. Het gaat om werkende software. Het om samenwerking. Het gaat om je aanpassen aan veranderingen. Agile zoals ik dat zie …

Agile (voor mij) gaat om mensen. Mensen doen het. Mensen maken het. Mensen zijn het. Elke functie wordt vertegenwoordigd door mensen. En alleen zij kunnen de functie een top functie maken. Wie zijn de mensen die het beste een functie kunnen leveren? Wie zijn het gouden team? Dát zijn de mensen die die functie leveren. Dáár draait het om.

Agile (voor mij) gaat om werkende software. Altijd werkende software. Goed werkende software. En het team dat de software / functie levert, staat daar ook voor. Hoe? Het team garandeert dat de software werkt. Het team garandeert dat de software draait / beschikbaar is. Hoe? Door dat te doen om die verantwoordelijkheid te kunnen dragen. Hoe? Continuous Delivery (met oa Automated Testing, Automated Deployment). Monitoring. Scaling en Automated infrastructuur, lees: Cloud. Cloud is het automatiseren van infrastructuur … en alles wat daar boven op terecht komt. Werkende software is een service die geleverd wordt en afnemers van die service maken er gebruik van zonder zorgen over beschikbaarheid en werking. Het werkt gewoon.

Agile (voor mij) gaat om samenwerking. Mensen werken samen. Gebruikers, medewerkers, teams, teams van teams. In welke vorm wordt de beste samenwerking bevorderd? Hoe kunnen we goodwill, vertrouwen, transparantie, eerlijkheid, creativiteit, innovatie, plezier verhogen? Dan pas draait het om mensen. Dan pas werken we samen.

Agile (voor mij) gaat om aanpassen aan veranderingen. De wereld waarin we leven. De wereld van een Enterprise. De toepassing van een functie. Het verandert. Het is niet de vraag ‘of’ maar ‘wanneer’. En daar kunnen we beter maar op voorbereid zijn. Verwacht verandering en pas je aan. Als mens. Als team. Als functie. Als bedrijf. Als Enterprise.

Gemakkelijk? Nee. Mooi? Ja! Wat is het leuk om de saaie taken te automatiseren! Wat is het leuk om verantwoordelijkheid te dragen en te kúnnen dragen! Wat is het fijn om nuttig te zijn! Wat is het cool om top functies te leveren aan blije gebruikers! Wat is het cool om met andere leuke mensen te werken! Wat is het leuk om in een inspirerende Enterprise te werken!! Dát is de Enterprise van de toekomst!

Top