Software die past

Wie kan verder als een systeemkoppeling vastloopt?

Een klant belt: de bestelling is bevestigd, maar het magazijn ziet niets. Verkoop kijkt naar een groen vinkje. De planner wil helpen en voert de opdracht opnieuw in. Een uur later blijken er twee opdrachten te staan. Wie mag nu bepalen welke doorgaat?

Dit is een fictief voorbeeld, maar een bruikbare ontwerpproef voor een systeemkoppeling. De ondernemersvraag is concreet: kunnen medewerkers een vastgelopen overdracht herstellen zonder te gokken, dubbel werk te veroorzaken of voor iedere stap de eigenaar te bellen? Daarvoor zijn afspraken over informatie, bevoegdheden en herstel nodig, naast een technisch werkende verbinding.

Twee collega’s vergelijken een ordermap met een pakket aan een werkbank in een magazijn.

Spreek af wanneer de overdracht echt klaar is

Neem één klantbelofte als vertrekpunt, bijvoorbeeld een bestelling die op de afgesproken dag meegaat. Teken met verkoop, magazijn en administratie de stappen vanaf akkoord tot afhandeling. Beschrijf bij elke overgang wat de volgende collega moet kunnen vertrouwen.

Een bericht kan verstuurd zijn terwijl de ontvangende toepassing het nog niet heeft verwerkt. En een ontvangen order hoeft nog geen vrijgegeven magazijnopdracht te zijn. Geef die verschillen herkenbare namen. Een algemene status ‘gesynchroniseerd’ helpt weinig wanneer niemand weet of daarmee ontvangst of voltooiing wordt bedoeld.

Leg ook vast hoe lang wachten aanvaardbaar is. Een adreswijziging voor een zending die vandaag vertrekt vraagt een andere opvolging dan een bijgewerkt klantkenmerk. Kies de grens vanuit de gevolgen voor het werk. Vraag vervolgens aan de technische partner hoe zichtbaar wordt dat die grens nadert of overschreden is.

Wijs per gegeven een bron en een beslisser aan

‘Het systeem is leidend’ is te ruim wanneer meerdere toepassingen een deel van de werkelijkheid beheren. Maak de verantwoordelijkheid kleiner en preciezer.

In ons voorbeeld kan verkoop de overeengekomen leverafspraak beheren, het magazijn de feitelijke verzending en de administratie de factuurstatus. Een verandering in het ene gegeven mag de betekenis van het andere niet stilzwijgend vervangen. Een aangepaste leverdatum bewijst bijvoorbeeld niet dat een pakket is tegengehouden.

Beschrijf daarom per belangrijke wijziging vier dingen: wie haar mag vastleggen, waar de geldige versie staat, welke andere systemen haar nodig hebben en wat er gebeurt als zij daar niet aankomt. Betrek medewerkers die correcties nu met telefoontjes of losse lijstjes oplossen. Zij kennen vaak precies het moment waarop een nette procesbeschrijving ophoudt te kloppen.

Geef medewerkers een bruikbare herstelkeuze

Een foutmelding is pas behulpzaam als iemand begrijpt wat er nog kan gebeuren. Laat het werkoverzicht daarom de betrokken order, laatst bevestigde stap, tijdstip, openstaande actie en verantwoordelijke rol tonen. Toon alleen de informatie die die rol nodig heeft; technische logregels horen bij de beheerder.

Gebruik bijvoorbeeld deze indeling als vertrekpunt voor een gesprek met het team:

Situatie Werkbare vervolgstap
Ontvangst is bevestigd, verwerking loopt nog Volg de afgesproken wachttijd en voorkom een tweede invoer.
Een verplicht gegeven ontbreekt Laat een bevoegde collega het gegeven bij de bron corrigeren.
De uitkomst is onbekend na een onderbroken verbinding Controleer de bestaande opdracht voordat opnieuw wordt verstuurd.
Een latere stap faalt nadat eerder werk is uitgevoerd Beoordeel wat behouden blijft en welke herstelactie nodig is.

Dit zijn ontwerpkeuzes, geen universele beslisregels. Bepaal bijvoorbeeld of een planner zelf opnieuw mag aanbieden, maar een al vrijgegeven verzending alleen samen met het magazijn kan aanpassen. Zorg ook voor een vervanger als de aangewezen collega afwezig is. Autonomie werkt wanneer bevoegdheid, informatie en bereikbare ondersteuning bij elkaar passen.

Laat opnieuw proberen dezelfde opdracht blijven

Een onderbroken antwoord betekent niet automatisch dat de andere toepassing niets heeft gedaan. De Amazon Builders’ Library beschrijft hoe een vaste aanvraagidentiteit kan helpen om een herhaalde aanvraag te herkennen en extra effecten te voorkomen. De ontvangende dienst moet dat gedrag daadwerkelijk ondersteunen.

Vraag je leverancier daarom om te demonstreren wat er gebeurt als dezelfde order tweemaal aankomt. Vraag ook wat een gewijzigde order doet: opnieuw proberen en een inhoudelijke wijziging zijn verschillende handelingen. Een knop ‘opnieuw versturen’ is onvoldoende bewijs dat dubbele verwerking wordt voorkomen.

Laat bij de oplevering vastleggen hoe lang aanvragen herkenbaar blijven en hoe een medewerker de oorspronkelijke uitkomst terugvindt. Als een gekoppeld pakket zulke mogelijkheden mist, moet het ontwerp expliciet maken hoe de uitkomst wordt gecontroleerd en wanneer menselijke beoordeling nodig is. Verstop die beperking niet achter een groen verbindingslampje.

Herstellen kan een nieuwe zakelijke handeling zijn

Soms is terugzetten geen passende oplossing. Stel in ons voorbeeld dat het magazijn al heeft gepickt, maar de bevestiging naar verkoop faalt. Het opnieuw aanmaken van de hele order kan de situatie ingewikkelder maken. Misschien moet alleen de ontbrekende bevestiging worden hersteld.

Microsoft beschrijft bij het Compensating Transaction-patroon dat herstel bedrijfsregels moet volgen en niet altijd terugkeer naar de oude toestand betekent. Handmatig ingrijpen kan nodig blijven.

Spreek voor jullie proces af wanneer doorgaan, corrigeren of stoppen passend is. Een verzonden pakket kun je niet met een databasewijziging terughalen. Laat een medewerker daarom de feitelijke situatie en klantafspraak meewegen. Leg de reden en vervolgstap vast, zodat een collega de afhandeling kan overnemen zonder opnieuw te moeten reconstrueren wat er gebeurde.

Test de moeilijke overdracht vóór uitbreiding

Kies één beperkte stroom, zoals bevestigde orders naar het magazijn. Test in een veilige testomgeving een normale overdracht, een dubbel bericht, een ontbrekend gegeven, een vertraagd antwoord en een storing nadat een deel al is uitgevoerd. Gebruik fictieve gegevens en voorkom echte verzendingen of klantberichten.

Laat de medewerker de proef uitvoeren met de beoogde ondersteuning. Kan die zien wat zeker is, de juiste actie kiezen en uitleggen wat de klant kan verwachten? Controleer daarna beide systemen op hetzelfde zakelijke resultaat. Een geslaagde technische aanvraag alleen is geen afgeronde acceptatieproef.

Houd tijdens de eerste gebruiksperiode bij welke overdrachten open blijven, hoe oud ze zijn en hoeveel herstelwerk ze vragen. Bespreek terugkerende oorzaken met het team, zonder van het overzicht een ranglijst van medewerkers te maken. Het doel is betere ondersteuning en een betrouwbaardere klantbelofte.

Bij systeemintegraties verbinden we gegevens, bedrijfsregels en opvolging. Als eerst onduidelijk is wie een correctie mag beslissen, kan bedrijfsanalyse en organisatie die vraag zelfstandig uitwerken. Neem één recente vastgelopen overdracht mee: welke afspraak wilde je waarmaken, wat wist de medewerker en welke beslissing ontbrak?

De volgende stap

Wat wil je mogelijk maken?

Je hoeft nog niet te weten welke software je nodig hebt.

Bespreek je plannen