Objectives

Upon completion of this lesson, you will be able to:

  • calculate the execution time of a process
  • derive average execution time of divergent paths
  • derive expected execution time of concurrent paths
  • apply work sampling to obtain time and probability estimates
  • identify process inefficiencies
  • identify opportunities for removing waste

Motivation

Processes are part of the fabric of the business and represent a strategic and critical intellectual asset that needs to be understood and proactively managed. Processes are often cross-functional and involve multiple systems, software applications, and human assets – including employees, customers, partners, and vendors. Processes must be formally defined and documented so that they can be practiced uniformly and consistently across the organization. Explicit articulation of processes is essential so that the processes truly become intellectual property of the organization rather than being tied to a specific individual.

Process analysis entails of eliciting, documenting, visualizing, and analyzing work procedures within an organization.

The first step is capturing and articulating the processes. This is done through process modeling. Once processes have been documented, processes can be analyzed. Only then can the organization think about optimizing and eventually automating the processes. Optimization is done through a combination of manual analysis as well as automated simulation.

Process Elicitation

The analysis of a process starts by eliciting the process details, including activities, process participants and actors, information objects and their flows, information objects required as input and produced as output, life cycles of information objects, delays, divergence points, and concurrently running activities. Every process must have a result and produce something of “value”, i.e., it must have a purpose. What is produces is also sometimes called the “unit of production”.

In addition, we need to know the triggering event of a process (process start) and the triggering process actor, plus the final step in the process and its post-conditions (process end). This is generally referred to as the process’ boundaries.

Every process must have a unique process name in the form of a verb phrase, e.g., Process grade change request or Register for a course. Part of the initial analysis are the pre-conditions, i.e., the assumptions we make in order for the process to be successfully executable. For example, a necessary pre-condition for the process Register for a course is that the student is matriculated. Other pre-conditions might be that the student meets all pre-requisites and that the student does not have a financial hold. Pre-conditions are checked at the beginning (or, sometimes, during the process), but failure to meet a pre-requisite will result in the abnormal termination of the process.

If there are any rules that govern activities, then those must be elicited as well.

Common techniques for eliciting the elements of a process include:

  • interviews
  • document analysis, particularly operating procedures and training manuals
  • observation (active and passive)

During or shortly after elicitation, the process must be recorded, either in narrative form or as a diagram (e.g., a flowchart or BPMN Diagram).

Process Flow Time Analysis

An essential step in process modeling is the analysis of the performance of the process with the goal of identifying performance bottlenecks and ways to improve the time it takes to perform the process and reduce the cost of the process.

A time study measures:

  • how long each activity takes
  • delays or transport time between activities
  • time to generate information objects

The sum of all activity processing times plus all wait times is the flow time.

The execution time for an activity is generally the average execution time obtained from work sampling, observation, or through a group estimate using Delphi, although sometimes we might be interested in the best or worst execution time depending on the use of the result.

Unless specifically stated otherwise, the transition time between activities is presumed to be 0 or at the very least negligible.

To calculate the execution time, do the following:

  • for each activity, determine average, best, and/or worst case execution time
  • if the activity is a subprocess, determine execution time of the sub-activities and sum them
  • roll-up all execution times to arrive at a final estimate
  • add waiting times or delays between activities

Linear Path

The flow time T through a linear path of n activities and d delays is the sum of the execution times of each activity Ai plus the sum of the delays Di.

\[ T = \sum_{i=1}^{n}(A_i) + \sum_{j=1}^{d}(D_j) \]

For example, the execution time of the linear flow shown below is 303 units of time.

Single-Path Divergence

In a single-path divergence, one of several paths is chosen depending on the outcome of a decision or based on some set of conditions. The conditions must be mutually exclusive so that only one path can ever be valid – and there must always be one condition that is true.

The average time it take to go through a set of paths that are executed conditionally is based on the frequency that each path is chosen, i.e., the probability that a particular path is executed. The probabilities can be estimated through experience or through a group-based estimation method like Delphi, or through observation and counting the frequencies. The probabilities must sum to 1.

Time T to execute a single-path divergence (from the divergence point until the merge) with k paths Ti each having a probability pi of being executed is given by the expected value of an empirical probability distribution:

\[ T = \sum_{i=1}^{k}\left( p_iT_i\right) \]

and

\[ \sum_{i=1}^{k}\left( p_i\right) = 1 \]

Basically, we calculate the execution of each path and multiply that time by the probability of that path, and then add all of them up. If the probabilities do not add up to 1 then we must have forgotten to take a path into account. If probabilities are not available or cannot be reasonably estimated, then equal likelihood should be assumed. So, if there were three divergent paths, then the probability of each should be assumed to be 1/3 or 0.33. If one path probability is 0.7 and the other two were missing, then the remaining two would have to be assumed to be equally likely, so they would be (1 - 0.7) / 2 or 0.15.

Example

The flow below has an execution time of 2.2 units of time. Calculate this for yourself and convince yourself that the answer provided is correct.

Expected Value

The execution time of a set of paths that are executed based on their (empirically derived) probability is the expected value. For a set of values X = {X1,X2,…,Xn} with corresponding probabilities p = {p1,p2,…,pn}, the expected (or average) value E(X) over the “long run” is

\[ E(X)=\sum_{i=1}^{n}(p_iX_i) \]

Concurrent-Path Divergence

In a concurrent-path divergence, several paths are concurrently executed. The average time it take to go through a set of concurrent paths is the maximum of the average times of each of the paths.

Time T to execute a concurrent-path divergence (from the divergence point until the merge) with k paths with average time Ti each is:

\[ T = \max_{i=1}^{k}\left( T_i\right) \]

This makes sense when you think about it in practical terms. Imagine that you send three friend off to get stuff for your Superbowl (or some other event) watch party while you prepare some appetizers. The package says to pre-heat the oven for 10 minutes, bake the frozen appetizers for 20 minutes and then wait 5 minutes before serving. As soon as you start the pre-heating, your friend run off to get their items. One gets burgers, which takes 25 minutes, the other gets drinks which takes 20 minutes, and your third friend needs to get snacks which will take 40 minutes as they need to wait for the Green Line. So, how long until you can sit down with everything and start watching? Obviously, you need to wait until everyone is back and everything is done. So, it depends on the slowest of the tasks.

Example I

The flow below has two concurrent paths. The time it takes to go from the divergence to the merge is the time of the longest path, i.e., the maximum average time of the paths, and is 15 units of time.

Example II

Worked Example I

The tutorial below goes through a worked example to calculate the average flow time of the process depicted below. Before watching the narrated solution, work through the calculations yourself.

Worked Example II

The tutorial below goes through a second worked example for calculating the average flow time of a process.

Process Variations and Work Sampling

Some processes have too many variations:

  • Different actors carry out the same process differently
  • Process has variations for different inputs
  • Large number of scenarios

How do you manage variations if time to elicit process is limited? Answer: statistical sampling. But a key question remains: how many samples are sufficient? And how do you actually do draw a sample?

A common approach to sampling is to break observation periods into short time intervals based on average process execution time and randomly observe different actors at different time periods.

Sample Size Estimation

However, one question remains: how many observations do you need to do? We can use a method for finding sample sizes from statistics. The equation below provides an estimate of the sample size needed for a certain level of confidence that the sample contains all of the known variations.

\[ n = \sigma^2\left(\frac{Z_{\alpha/2}}{\alpha}\right)^2 \]

In the equation above, Z is the z-score the the desired confidence level (obtained from a table), σ2 is an estimate of the variance, and α is the acceptable error level, e.g., 10% or 0.1.

The most common values for the z-score at various levels of confidence are summarized below:

Confidence Level z-score
99% 2.58
95% 1.96
90% 1.65
80% 1.28

The variance σ2 can be estimated from an estimate (or “guess”, perhaps using Delphi) of the probability p that any given observed process is a deviation from the normal scenario of the process using the following equation:

\(\sigma^2 = p(1-p)\)

If p cannot be reasonably estimated or is not provided, then the assumption must be that p = 0.5, making the estimate for σ2 = 0.25.

Example

Liam Fitzgerald estimates that during the past four weeks about 10 of his orders for machines deviated from a standard order. He got 47 orders in the past four weeks.How many observations would you need to make to be 90% certain that your observations contain all production process variations?

The empirical probability that a process deviates from the normal scenario is

\(p=\frac{10}{47} = 0.213\).

This makes the variance

\(\sigma^2 = p(1-p) = 0.213\times(1 - 0.213) = 0.167\)

Which suggest a sample size as below:

\(n = \sigma^2\left(\frac{Z_{\alpha/2}}{\alpha}\right)^2 = 0.167 \times \left(\frac{1.645}{0.1}\right)^2 \approx 45\)

The value for the z-score for a confidence level of 90% was obtained from the table above. The α is 1 - 0.9 = 0.1.

That means that the process analyst should make about 45 random observations of the production process. If the process scenarios were recorded (video, voice, journal) then the analyst would need to randomly inspect about 45 recordings to be 90% certain that the samples contain all process variations.

Exercise: Prestige Auto Works gets an average of 28 repair requests in a typical week. Generally three out of every ten requests is unusual and requires special parts or accommodations. Pompeo keeps detailed logs of each repair request using a “repair form” that is kept even if a repair job is not booked. How many repair forms would you need to inspect to be 90% certain that you understand all variations in the booking process? How about if you wanted 95% certainty?

The tutorial below is a narrated solution to the exercise. Before watching the tutorial attempt to do the calculations for yourself.

Summary

This lesson showed how to calculate the average execution time of the process flow containing linear, divergent, and concurrent paths. Furthermore, it explained how to calculate the sample size for process sampling to derive average execution times of activities and divergence frequencies through randomized observation.


All Files for Lesson 42.201

Models, Diagrams, Resources

The diagrams and models used in this tutorial can be found at Process Models & Example Flowcharts.

References

None.

Errata

None collected yet. Let us know.