Variation is “the act, process, or result of varying” or “a change in the form, position, condition, or amount of something”. [Merriam-Webster dictionary]
Variation is inherent in any process. Going to work every day takes different time although we go the same way and approximately at the same time. Preparing a routine report also takes different time every time we make it. Two developers asked to implement the same simple functionality in the same environment will need different time as well.
The variation in our performance affects the time of project or service completion, the quality of the outcomes, the internal organization of the team activities, the workload of the individuals, etc. I am sure you can add a lot more examples to this list.
It is important to recognise the nature of variation to be able to address it correctly.
Causes of variation
The causes of variation can be different:
- Resources: an error in an application could cause a routine procedure to take longer than usual, different personal skill levels make the service delivery time vary, handing over a task to another person usually alters both the time and the quality of the work completion.
- Processing unit: the complexity of a customer request affects the development/response time, different tools need different installation and setup time, defects require different fixing time and effort depending on their characteristics.
- Other factors: errors in the income tax submission application occur in the ‘season’ of tax declaration submitting, most of the printer-support calls occur during the working hours, a change or an unavailability of a team member affects the team performance, delay in receiving some information or materials affects a service delivery, the arrival rate of phone calls/incidents impacts the response quality and the customer satisfaction.
People, independently on whether they are involved in a process as a processing unit (e.g. patient, customer) or as resource – actor, introduce natural variation in the process, which is practically impossible to avoid.
In the services area response time and predictability are key to customer satisfaction. Thus it is important to keep the process variation relatively low and even reducing it to become more competitive.
Speaking about delivery time, what is interesting is that waiting time is frequently the largest component of the elapsed process time. E.g. in a travel from Yerevan to Bilbao the flights take 52% of the total travelling time, the rest is waiting; in a doctor visit, the value-adding time is about 15 min (the visit in itself) within e.g. 6 hours between calling for the appointment and leaving the clinic, i.e 96% of the time is waiting.
Make yourself an experiment. Measure the effective time of doing something (the time you really work on it), for instance, fixing a bug. And measure the time from staring to finishing it. What is the ratio between the two measures?
To understand the effects of the variation and how to cope with them, have a look at the following simplified picture of your organization:
Fig. 1 Queuing system (simplified)
In this case we represent your organization as a queuing system: “customers arrive for a given service, wait if the service cannot start immediately and leave after being served” or “customer asks for implementing a requirement, waits for the implementation to start and pays when the requirement is delivered”
Sir John Kingman’s formulae links the factors that determine the time a customer will have to wait until her request is served. Therefore sometimes it is called the law of the variation effects. The formulae says that
Average Waiting Time = f(Arrival Variation, Resource Utilization,
Effective Process time)
More precisely, for a simplest queuing system the average waiting time spent in queue, depends on the Variation of request arrival, the Resource Utilization, and the time a request is Processed.
Fig 2. Trade-off between Waiting time, Resource Utilization and Arrival Variation
The effects of the variation
The two effects of the process variation can be described as follows:
- Looking at one curve only: When the resource utilization is close to 100% a small increase in the work load causes an exponential increase of the time to finish the job.
- Comparing the two curves: Assuming that the resource utilization is the same, the higher the process variation, the longer it takes to complete a job.
Practical take-aways for a project or service manager
- The higher the resource utilization, the stronger variability affects the time of completing a service or a piece of work. If utilization is low (~50% or less), variation in the request arrival and process variation will have a small impact on performance. Something very important for organizations aiming at ensuring that their resources are always busy.
- In software development and IT services people are the main resource. Therefore, utilization is strongly affected by errors which generate failure demand or rework. Thus, reducing resource utilization is more critical than reducing time variation.
- The longer the average process time, the larger the time requests will spend waiting and hence, the larger the queue length. Therefore decomposing a job into smaller pieces that take less time to complete reduces the overall processing time. Developing several small services/tasks produces less variation than one big one.
Said this, how to reduce customer/request waiting time?
- Reducing the incident/request arrival rate, for instance by improving user documentation, providing better web-based support, making user interfaces more intuitive, offering training, etc.
- Reducing service time (effective processing time) by improving technical staff training, automating the process, etc.
- Reducing process variability by analysing and eliminating the causes for very long duration services, introducing policies that facilitate service prioritization and fulfilment.
- The smoother a request passes through the process (with less stops, restarts and bottlenecks), the shorter the process time and hence the waiting time and the queue length. Hence removing bottlenecks and other impediments in the workflow reduces waiting time and the elapsed processing time.
- Reuse reduces variability in completion time. Therefore wherever possible and makes sense work outcome and knowledge have to be reused. I say “make sense”. Some time ago I was working with a company that admitted they were suffering the “Until In Stock” virus. They were reusing old hardware components until available on stock and that was causing them high cost of defect fixing.
Variability is not necessary a bad thing. Achieving high predictability and service level completion is nice, however repeating always the same results also means that nothing new is created. It is not by chance that Henry Ford said “If I had asked people what they wanted, they would have said faster horses.”
If Apple were only doing the usual job, they would not have envisioned the iPhone either.
More about the positive side of variability will come in another post.
- The Project Management Principles that (Almost) Nobody Teaches
- Little’s Law
- Bottleneck Law
- Esteban, the “bottleneck” (a real case)