Imagine a bucket with a hole in the bottom. That’s how we manage the jobs that we get within the service, or calls as we refer to them, using a leaky bucket. It could be a shiny read bucket with a strong wire handle and comfortable wooden grip or an old galvanised bucket with a rusty base that makes a reassuring clang when you put it on the ground. It really doesn’t matter.
Either way the bucket fills up at the top and leaks out of the bottom. Calls are logged through our Service Desk system at the top and are fixed at the bottom. The more astute amongst you will realise that there are two parameters at work here, the rate at which the jobs come in, or flow, and the rate at which we are able to fix them.
You would expect there to be variation in these rates as we work in a chaotic system. The rate of flow will wax and wane depending upon the natural cycle of the business and any changes to the technology. The rate of fix will vary depending upon the resource we have and the easiness of the calls to fix. If the rate of calls is higher than the rate at which we can fix then the bucket should gradually fill up and if it drops below that rate then the bucket should gradually empty.
But our bucket has a couple of special features, ones which I just cannot explain.
Firstly, within a very small tolerance the service is able to vary the rate of fix to match the rate of calls coming in. That is the bucket leaks at the same rate, more or less as it fills. The greater the number of jobs arriving then the greater the rate of fix and as the flow tails off then our ability to resolve issues drops off accordingly.
Secondly, it doesn’t matter how empty or full the bucket is, the volume of calls inside will rise or fall until it eventually arrives at or around at its own level. It is as if there is some invisible mark inside the bucket which everyone within the service knows where to fill to.
Nobody decides how fast the rate of resolution should be. No one decides how full the bucket should be either. We don’t set targets though we do have service level agreements. It is a self organising system apparently driven by the wisdom of the crowd, our hive-mind perhaps.
So, the rate of flow-in nearly always matches the rate of flow-out yet we always maintain a tail of outstanding jobs to be done. It is inevitable that we should always have some outstanding work as some jobs will take longer or rely on external parties to resolve.
What I need to understand is why, if we use exactly the same resource as we do today, can we not fix nearly every call as it comes in? Is it something inherent in the system or is it the accumulation of hundreds and thousands of tiny changes in behaviour, speeding up and easing off, that create a relatively stable situation?
Ah, the beauty that is chaos! Can anyone help?