This is third and last part of a study on managing cross-functional business process. Previous parts:
In the second part we introduced two basic ways to organize work within cross-functional business processes:
- Synchronous - the performing unit starts work as soon as it received an internal order. Technically it’s implemented by a single process.
- Asynchronous - orders are first accumulated in the input buffer unit of the performing unit, then extracted and processed with some frequency. Technically it’s implemented by two (when there is a single resource) or larger number of processes.
Synchronous mode grants minimal process execution time while asynchronous maximizes the performance (measured by the number of process instances completed per unit of time).
According to my observations asynchronous mode prevails in real life because departments and people both feel more comfortable when they are not chased by a continuous flow of a variety of tasks but have an opportunity to somehow organize and plan their activities.
Business and process analysts prefer synchronous schemes - not with something special in mind but because they just follow the path of least resistance: these schemes are plain simpler. This may lead to conflicts at the process implementation: people are pushed into the process framework which they feel uncomfortable.
Now if we look at it from the organization’s goals perspective (i.e. process performance) then the synchronous scheme is preferred because it provides the highest quality of customer service. A performer may not feel comfortable but it doesn’t matter on the condition that he/she isn’t overloaded (which does not happen as often as it may seem). Improving an individual’s performance may be a sub-optimization which is a bad word.
How can we bring these views together? I’m going to give some recommendation about optimal process schemes based on Goldratt’s Theory of Constraints (TOC).
Let’s start with the simplest case: N departments responsible for one activity each within a single business process (there is no other processes). E.g.:
Fig. 1. Resource and process performance
Just from the theory of probability resources performances would not be equal. Besides it’s sometimes impossible to align performances. For example, sales may have excessive performance because orders are accepted at distributed sales offices and you can’t place half of an employee into the office. From the other hand the design performance can’t be increased due to limited qualified labor force available.
In this example the overall process performance is determined by that of design. So this is the bottleneck, painted in red. The distinctive feature of a bottleneck: an increase in its productivity immediately results in overall productivity increase.
What’s more important, an increase of productivity of any link other than a bottleneck doesn’t affect the overall productivity.
Non-bottleneck links are painted in green except for the second from the bottom which is painted in yellow. It determines the extent to which the overall performance can be increased by improving the bottleneck performance only: from 60 to 80 in this case, i.e. by 33%.
According to Goldratt, the operations of the whole chain should be tied to the bottleneck - so-called “Drum-Buffer-Rope” method. The buffer is needed to eliminate the possibility of bottleneck downtimes and losses that they would lead to. The downtimes may happen due to variations - the performance figures are average ones so the number of client orders getting into design may increase or decrease. So it may happen that the bottleneck would be starving and the overall performance would suffer. The buffer compensates temporary lacks of input.
In accordance with TOC, buffer should be placed at the bottleneck’s input and at this place only: more buffers would not increase performance but only lead to excessive costs.
If applied to processes, the buffer corresponds to the asynchronous processing. Therefore under the given conditions - when there is just one linear process - a scheme with exactly one asynchronous link is optimal:
Fig. 2. Optimal scheme for a process with a single bottleneck
Asynchronous processing maximizes the design performance and hence the overall process performance. We don’t need to carry about other resources performance so we target them to maximum quality, keeping in mind that the end-to end process duration is a major quality indicator.
2. Constraint at the process input
The sales performance in the example above is the number of orders they are able to accept and process at a unit of time. It shouldn’t be messed it with the demand, i.e. the number of orders we may generally expect. Let’s suppose that the demand is less than the process performance:
Fig. 3. Process constrained by input
In that case the fully synchronous scheme would be optimal:
Fig. 4. Optimal scheme for a process constrained by input
It may seem absurd: why having more resources than the demand is? Yet this situation is common enough:
- Most companies are willing to grow as long as possible i.e. as long as there is a payable demand. Accordingly, at the end of the day the demand becomes a constraint.
- Seasons may be a factor. E.g. a beverage company may be constrained by capacity at summers (during the season) and by demand at winters.
- Market environment is always unpredictable so it may be useful to have some spare capacity.
- Demand isn’t something absolute - it’s affected by price and quality of our products/services .
The excessive performance equals 20% in the given example. If demand variation is within this range then the synchronous scheme should be preferred; otherwise it’d make sense to get back to the scheme depicted at fig. 2.
Unfortunately the linear models considered are too simple to use the conclusions at practice. There are at less two sources of non-linearity: restarts and readjustments.
3. The effect of restarts
The synchronous mode should be treated as such only from a process standpoint; it’s vice versa from performer’s standpoint:
- sitting idle - no incoming orders
- an order has come - start working, no hurry
- a second order and yet another - where do they all come from?
- all hands on deck, the backlog is growing
- ok, did it, waiting for orders again
The asynchronous mode assumes by contrast that we build a plan in advance e.g. for a working shift and fulfill it steadily without hurry and/or breaks.
Similarly to a production line that gains full speed only after a while a human needs some time too to switch from being idle to productive work.
4. The effect of readjustments
It’s not that visible at the top process level but if we go down a level or two we’d discover that a performer (i.e. each of us) participates not in a single but in several process. As a rule, the higher at the hierarchy, the more processes he/she participates in.
Now imagine that you get incoming tasks from dozens of various processes. Switching between tasks requires additional efforts and extra costs similar to those that occur when a production line is readjusted from one product to another.
The less of these switches the less are costs to such “mental readjustments” and hence the more is your individual performance. The number of readjustments may be decreased by asynchronous processing.
Here is a simple example: let’s assume that two sorts of tasks get into your income queue -
- in synchronous mode you’ll process them in the same order they arrived: A1, A2, B1, A3, B2, A4, A5, B3,…
- in asynchronous mode the tasks will be buffered and processed in series: A1+A2+A3+A4+A5, B1+B2+B3,…
It’s always easier to perform similar tasks. May be it’s not evident for two task types but what if there were dozens? This explains why CFO probably would prefer payment requests to arrive by lists rather than one-by-one.
5. Optimization under nonlinear factors
So the synchronous mode minimizes the overall process execution time (good) yet it leads to decrease of productivity due to restarts and readjustments (bad).
As the result we may come e.g. to the following:
Fig. 5. Performance decrease due to restarts and readjustments
The result of design performance decrease is that it’s a bottleneck again: its performance is lower than the demand. The simplest way to cope with this problem is to get back to asynchronous mode, like at fig. 2. Moreover, due the decrease of manufacturing productivity it “sank” below the demand level too hence it should be switched to asynchronous mode.
However switching from synchronous to asynchronous mode is only one possible way. Toyota Production System offers another one: don’t compromise the quality (don’t increase the process duration) but cut the time spent to restarts and readjustments.
If applied to human work:
- fight against your own inertia, accept any work without delay
- don’t create a comfort zone by making tasks wait in a queue
Of course there is always a limit and if a particular manager or specialist is overloaded then do create such a comfort zone.
Yet it’s not the case most of the time. In order to succeed, one must take into account psychology:
- A person in charge must understand that his individual performance doesn’t matter. The synchronous execution leads to excessive stress that could be avoided yet it’s better for a client who is the king in a proper business.
- A human dealing with incoming tasks fast, executing them without delay as soon as they arrive must be sure that he/she won’t suffer - that the management would not decide to increase the load.
At the end of the day it depends on motivation: when a client calls to a small company nobody needs to be explained that the client is number one priority and everything else can wait. And what about a large one? “If it’s really important for you then pick up the damned phone!” However it’s beyond the scope of the article.
6. Auxiliary processes optimization
All of the above relates to the major processes directly affecting customers’ experience.
As for the auxiliary processes, the process duration isn’t that important so the efficient resource utilization becomes the major issue. Therefore the asynchronous mode must be considered as the major one.
Resources are usually utilized both in major and auxiliary processes. E.g. accounting is the major performing of the auxiliary processes of financial reporting and of employees fee calculations and payments. Besides, accounting may participate in the major sales process by creating invoices for customers. According to the principles above, the tasks within reporting and fee should be executed asynchronously while the invoicing should be done synchronously (on the condition that accounting isn’t the bottleneck which is hardly the case).
From the accounting standpoint it’d look this: financial reporting and fee calculations may be done in a steady and ordered way while invoices require immediate responses. Such arrangement may produce protests and conflicts because:
- Within functional mindset, accounting will treat the former two process as “our own” because it’s the major performer there and hence it’ll give them more priority than invoicing which is a part of “foreign” business process.
- The process logic is different: it requires the tasks belonging to major process to be prioritized whether they are “our own” or “foreign”.
The accounting is just an example indeed - a similar internal conflict would arise anywhere else. Once again we come to the necessity of process thinking and adequate motivation system.