← Back to context

Comment by 394549

8 years ago

This the problem with automated business processes. It seems easy, until you think about all the exception paths. Human organizations can adapt and handle them organically, but a system needs them all specified up front. Either you spend a massive amount of work to get it right or you have a broken system. And once you have it right, it's hard to change and adapt.

Or, you don't think about all the exception paths, and just add a mechanism for humans to override the system's decisions. Which clearly no one managed to do in a timely fashion in this case.

A technique I often use in this is to leave a "human in the loop". Have control points where the system takes no further action until an administrator requests it. Instead of coding that automated cleanup routine, send a notification to an admin and let them take care of it manually.

As the system matures and the edge cases become better understood it can become more automated. At first, though, leave it loose and human-powered wherever you can.

  • Yeah, in this case the automated system should have reminded his manager and their manager that his contract was up so that they could click a button and schedule his last day.

    Keep the decision in the hands of a human but let the machine do the grunt work.