Er moet meer aandacht komen voor productieaspecten tijdens de ontwikkeling van processen en systemen. Als de aandacht vooral op het ontwikkeltraject is gericht, leidt dat namelijk tot kostbare inefficiënties in de productie. Het is echter geen oplossing om de productieafdelingen de scepter te laten zwaaien. Beter is het om de eisen van de productie tijdens het ontwikkelen goed in het oog te houden.
Ontwikkelen staat per definitie haaks op productie. Ontwikkelen is het creëren van nieuwe of gewijzigde bedrijfsprocessen en informatiesystemen – van idee via ontwerp, bouw, test en installatie tot ingebruikname. Het is een éénmalige en eindige activiteit. De kenmerken ervan zijn creativiteit, onzekerheid, deadlines en geld investeren.
Productie is het doorlopend gebruikmaken van de bedrijfsprocessen en informatiesystemen om producten en diensten te kunnen leveren. Het in bedrijf houden van die systemen (operations) is dan ook essentieel. Het is een continue activiteit met de kenmerken betrouwbaar, repeterend, meetbaar, bestuurbaar, bedrijfskritisch en rendement. Het is dus niet verwonderlijk dat ontwikkelprocessen problemen kunnen opleveren in het productieproces. Ontwikkelen en productie zijn inherent tegengestelde processen. De aandacht voor productieaspecten tijdens de ontwikkeling van processen en systemen laat vaak te wensen over.
Tijdsdruk
Het ontwikkelen van processen en systemen vergt vaak maanden. Het gebeurt altijd onder tijdsdruk. Drijfveren zijn een korte ’time-to-market’ voor de nieuwe of gewijzigde producten en het in bedwang houden van de ontwikkelkosten. Iets snel op de markt brengen kan noodzakelijk zijn uit concurrentie-overwegingen of vanwege wetgeving. Verder kan er een spanningsveld bestaan tussen wat de opdrachtgever wil of kan besteden in termen van geld en tijd, en wat de opdrachtnemer denkt nodig te hebben om het project conform de eisen met succes te voltooien. Soms spelen persoonlijke niet-rationele belangen van de projectleider of de opdrachtgever een rol.
Dreigen kosten en bouwtijd uit de hand te lopen, dan worden verschillende middelen toegepast, zoals ’time boxing’ (maak wat mogelijk is in de beschikbare tijd) of het uitkleden van versies door het schrappen van functionaliteit. Om een dergelijke tijdklem te voorkomen wordt soms gebruikgemaakt van evolutionair ontwikkelen. Daarbij wordt een kleine beperkte versie opgeleverd, die vervolgens in iteratieve slagen wordt uitgebreid of verbeterd totdat het gewenste resultaat is bereikt. Dit leidt tot situaties waarin de productiekant met incomplete processen en systemen moet werken, met als gevolg hoge(re) kosten en lage(re) prestaties en betrouwbaarheid.
Het schrappen van functionaliteit is een populair middel om deadlines te halen. Functionaliteit betreft hier het ondersteunen van (delen) van processen, bijvoorbeeld de personalia van een tweede bestuurder kunnen vastleggen bij het aanvragen van een autoverzekering.
Niet-reguliere gevallen
Er zijn drie niveaus van functionaliteit: primaire, besturings- en onderhoudsfunctionaliteit. Het doel van primaire functionaliteit is ondersteuning van de primaire processen, bijvoorbeeld klant- en ordergegevens invoeren. Ook het ondersteunen van interne processen, zoals financiële administratie en personeelszaken, beschouwen we in dit kader als primaire functionaliteit.
Besturingsfunctionaliteit heeft de optimale inzet van de processen en systemen tot doel. Denk aan het meten van aantallen ingevoerde orders, gemiddelde doorlooptijden en dergelijke, en het aan de hand daarvan bijsturen van de capaciteit.
Het doel van onderhoudsfunctionaliteit is de ondersteuning van de onderhoudsactiviteiten, zoals wijzigingen aanbrengen, storingen verhelpen en gegevens archiveren en terughalen.
Als ontwikkelprojecten onder tijds- of gelddruk komen wordt altijd voorrang gegeven aan de primaire functionaliteit. Besturings- en onderhoudsfunctionaliteit ‘kunnen later wel’. Dit legt echter een tijdbom onder de toekomstige productie-efficiëntie. Verder wordt zelfs binnen de primaire functionaliteit regelmatig omwille van tijd en geld geschrapt.
Een cruciaal punt zijn de niet-reguliere gevallen in een proces. Het is begrijpelijk dat in de ontwerpfase de aandacht gericht is op de reguliere gevallen: de normale situaties waarin een klant al zijn gegevens beschikbaar heeft, er voldoende voorraad is, prijs en korting bekend zijn, enzovoort. De lastige gevallen, zoals de klant die verhuist in de tijd tussen bestelling en levering of de moeder die iets bestelt voor haar zoon in een andere stad en wil dat de rekening naar haar wordt gestuurd, worden vaak uitgesteld omdat ze ‘niet direct nodig zijn’, ‘niet vaak voorkomen’, ‘moeilijk vooraf te definiëren zijn’, enzovoort. Deze niet-reguliere gevallen vergen echter veel tijd en aandacht en kunnen de normale processen danig verstoren.
Geïrriteerd
Het ontwikkelproces dicteert zo de keuzeprioriteiten. Het moet snel en goedkoop gebeuren. Dit lijkt logisch, maar vergeet niet dat na het bouwen, wat een tijdelijke activiteit is, het gebruiken volgt. Dat is een continue activiteit waarbij onvolkomenheden uit het ontwikkelproces jarenlang voor kostbare inefficiënties kunnen zorgen. In dit licht is het onaanvaardbaar dat het ontwikkelproces de keuzeprioriteiten dicteert.
Medewerkers van productieafdelingen die met de nieuwe of gewijzigde bedrijfsprocessen en systemen moeten werken, eisen systemen en processen die hun werkzaamheden maximaal ondersteunen en alle benodigde functionaliteit bevatten. Ook moeten de systemen snel, betrouwbaar, robuust en gebruiksvriendelijk zijn. Het opleveren van versies met beperkte functionaliteit heeft tot gevolg dat medewerkers geïrriteerd raken. Ze moeten tijdelijke oplossingen of lapmiddelen bedenken voor de ontbrekende functionaliteit en daarmee hun primaire activiteiten uitvoeren. Dat is vertragend, kostbaar en een bron van fouten.
Ook productieafdelingen die de bedrijfsprocessen en systemen operationeel moeten houden, zoals procesbeheer en computeroperations, hebben baat bij systemen en processen die snel zijn, eenvoudig zijn te installeren en te koppelen aan de bestaande systemen, over meet- en regelmogelijkheden beschikken en uitstekende prestaties leveren. Het opleveren van tussenversies betekent dat zij zowel de oude als de nieuwe systemen in bedrijf moeten houden en herhaaldelijk tests en implementaties moeten uitvoeren in een vaak toch al overvol vrijgaveschema. Ook dat kost meer tijd en geld, en verhoogt de kans op fouten.
Bezwijken
De maatregelen die dienen om het ontwikkelproces op tijd af te ronden zorgen er misschien wel voor dat de deadline gehaald wordt en de projectkosten binnen het budget blijven, maar opdrachtgever, projectteam en leveranciers creëren daarmee meteen nieuwe problemen. De negatieve effecten van hun keuzes zijn al snel merkbaar. Dit heeft diverse consequenties voor het ontwikkelproces.
De vervolgstappen om de rest van het oorspronkelijke pakket van eisen te realiseren, moeten opnieuw worden beschreven, begroot en gepland. Is de oorspronkelijke zakelijke rechtvaardiging (business case) nog valide, nu het project zo ingrijpend is veranderd?
Oorspronkelijke contracten moeten worden herzien. Passen de vervolgstappen nog daarin, of wordt het moeilijker en duurder?
Bij elke nieuwe of aanvullende versie moet weer tijd worden gestoken in het aanpassen van interfaces, de acceptatietests, het uitvoeren van conversies, het aanpassen van opleidingsmateriaal en het geven van instructies.
Niet alleen de ontwikkelaars hebben last van hun eigen haast, ze bezorgen ook de productieafdelingen de nodige struikelblokken:
Gebruikershandleidingen, technische documentatie en productiehandleidingen zijn incompleet, lopen achter of ontbreken zelfs.
Soms moet de productie worden stilgelegd bij installatie van een nieuwe versie of conversie van bestanden.
Door tijdsdruk in het ontwikkelproces is er minder of geen aandacht besteed aan productievolumes. Hoe vaak klinkt niet: ‘als de pilot werkt, is het goed’. Een pilot-implementatie gebeurt echter vaak in een beperkte omgeving met relatief kleine aantallen klanten, orders en facturen. Het is dus onzeker of de processen en systemen ook geschikt zijn om grote volumes te verwerken. Vooral bij de introductie van een nieuw product ontstaat in de eerste periode een stormloop waarbij processen en systemen die niet ontworpen zijn om dergelijke dijkdoorbraken te verwerken, kunnen bezwijken.
Omzetverlies
De onvolkomenheden zouden min of meer acceptabel zijn als ze na korte tijd worden opgelost, maar in de praktijk worden tijdelijke oplossingen vaak ook de definitieve. Onzichtbaar zorgen ze dan voor een jarenlang negatief effect op de productie-efficiëntie.
Stel dat de werking van het kassaproces in een groot warenhuis 10 procent negatief wordt beïnvloed door een inefficiënt proces en systeem. Op weekbasis met aanname van zestig uur openingstijd en een bezettingsgraad van 50 procent levert dit per kassa drie uur arbeidsverlies op. Voor een warenhuis met zestien kassa’s gaan hierdoor 48 arbeidsuren per week verloren. Op jaarbasis zijn dat 2496 uur per filiaal. Met veertig filialen komt dat uit op 99.840 uur. Bij brutoloonkosten van zeven euro per uur komt dat uit op 698.880 per jaar, jaar in, jaar uit.
Dit kost niet alleen arbeidsuren, maar ook potentiële omzet. Stel dat het inefficiënte kassaproces de omzet met 0,5 procent negatief beïnvloedt; klanten zien de lange wachtrijen en gaan elders shoppen. Bij een omzet van bijvoorbeeld achthonderd miljoen euro bedraagt het omzetverlies vier miljoen per jaar. Als besturingsfunctionaliteit ontbreekt zijn bovendien de prestaties en fraude per kassa nauwelijks te bewaken.
Aanbevelingen
Het is kortzichtig en leidt tot kostbare inefficiënties in de productie als de aandacht vooral op het ontwikkeltraject is gericht. Het dictaat van het ontwikkelproces moet worden doorbroken. Het is echter geen oplossing om de productieafdelingen de scepter te laten zwaaien. De oplossing ligt in meer oog voor de eisen van de productie tijdens het ontwikkelen. De tien volgende aanbevelingen bewerkstelligen dit.
Overleg intensief met de productieafdelingen en vraag welke eisen zij stellen aan de op te leveren processen en systemen. Neem die specificaties als harde eisen mee in het plan. Dimensioneer op productievolumes, inclusief de piekbelastingen.
Zorg voor heldere doelstellingen en een zakelijke rechtvaardiging voor het realiseren van veranderingen. Bekijk integraal de consequenties, dus niet alleen vanuit ict. Houd in de planning en het budget rekening met verbeterstappen na het testen en een pilot-implementatie.
Besluit op basis van zakelijke rechtvaardigingen die ook de productiekosten over een relevant aantal jaren omvatten. Herbereken die rechtvaardiging als het oorspronkelijke plan vanwege tijd of geld moet worden teruggeschroefd.
Geef primaire-, besturings- en onderhoudsfunctionaliteit hetzelfde gewicht.
Als vooraf een ’time box’ wordt opgelegd, zorg er dan voor dat deze ‘end-to-end’ processen en systemen bevat en dat de buiten de boot gevallen onderwerpen in een separaat plan worden beschreven en afgedwongen.
Expertise
Ontwikkel complete processen en systemen, inclusief koppelingen (interfaces), conversiemiddelen, documentatie, en test- en opleidingsmateriaal.
Houd de impact op de productieafdelingen prominent in beeld bij tussentijdse wijzigingen van de plannen.
Houd rekening met de bijzondere gevallen, de uitzonderingen op de regel. Als het echt niet mogelijk is om die gevallen vooraf te beschrijven, zorg dan voor een apart proces, met wellicht veel menselijke expertise, om die moeilijke kwesties te behandelen. Zorg voor geld en capaciteit om dat goed te regelen. Een voorbeeld is de servicebalie in een warenhuis, die voorkomt dat het proces bij de kassa’s wordt vertraagd door complexere zaken als omruilen, klachten en het afhalen van bestelde goederen.
Gebruik iteratieve of evolutionaire ontwikkelmethoden vooral om te modelleren en prototypes te maken, of om onduidelijkheden scherp te krijgen. Wees er alert op dat deze benadering niet leidt tot het voortdurend lastigvallen van de gehele productie met nieuwe versies en wijzigingen. Zorg ervoor dat nieuwe versies zonder onderbreking van het normale proces te installeren zijn.
Test het proces inclusief de te bereiken prestatie-indicatoren en niet alleen de software. Pilot-implementaties kunnen de impact op de processen beheersbaar houden. Zorg daarbij voor toetsing en optimalisatie van de doelstellingen.< BR>
Ferdinand G. Geuther, management consultant bij Ordina Public Consulting. Met dank aan S.C. Bouwens, J.T.P. Campschroer, G.J.F. Obers en M. Roozemon