Monday 8:30 A.M. Lenny is tired as hell, as he enters the offices of Intelogic, one of the best APS companies. He's still furious at the airline company who kept them in the plane for about three hours looking for some technical failure before they finally took off. He hadn't reached his hotel until three in the morning. The combination of fatigue and fury has made him very impatient.
He introduces himself to Lora, the administrative manager of Intelogic. She is expecting him. Lenny is casually dressed, his hair is not combed, and his shaving is uneven, giving him an overall unkempt appearance. Hardly the look of a senior executive.
Masking her disappointment, she greets him cordially. "Glad to see you here, sir. Chuck Monroe will walk you through our software, and at twelve-thirty Keith Miller, our VP of Sales, would like to have lunch with you. Let me take you to Chuck's office."
All Chuck was told was that someone from BGSoft would like to see the Intelogic software. When Lenny walks through the door, Chuck quickly deduces from his appearance that Lenny is neither in business development nor in marketing or sales. He wonders about Lenny's exact objective. Lacking any clear direction, Chuck gambles on doing the routine presentation about the software. He starts with the regular sales pitch about today's competition, and the need to replace inventory with information.
Lenny, realizing that he's talking to a salesman, asks him to skip the nonsense. "What is the objective function of the software?"
Chuck replies automatically, "Optimization throughout the supply chain. Lead-time reductions, inventory reduction, more efficient use of resources, improved on-time delivery, and improved customer service by immediate order quotation."
Lenny detests people who just quote from a sales brochure. In a sharp tone he retorts, "How does the software reduce inventory while improving the efficiency of resources?"
"Very good question," Chuck answers. "This is exactly why you need such clever APS software. This is a true finite-capacity scheduler, so the capacity is carefully monitored and planned. Let me show you the program."
Lenny, trying to control his impatience, says, "I've already seen a demo of the software. I even brought my own data. But, before I ask you to load my data, I wish to know more about the concepts behind the algorithm. Who can tell me about that?"
Chuck begins to realize that this is not his day. The routine sales pitch is not going to work on this guy—whoever he is. He tries to discreetly and professionally get rid of Lenny Chuck is already thinking about the other sales opportunities that he could be working on right now. "You probably need to look for someone from Engineering, but I'm not sure anybody is available right now. And the algorithms behind the software are our proprietary secrets. And I'm sorry, but we're not allowed to load customer files into our computers. Only the software engineers are authorized to do that. This is management policy because of all the viruses."
Lenny gets up. "OK, Chuck, thank you." He goes back to Lora at the central office. She's on the phone. He leans towards her. She says, "I'll call you back," hangs up, and sends Lenny a questioning look.
"Sorry to bother you. There's some misunderstanding here. I came from BGSoft to get an in-depth look at your software. Chuck definitely can't help me with that. I was under the impression 1 would meet your VP of Development, or whatever his title is. Can you find out when I can speak with him?"
Lora only raises her eyebrows. She remains cool and cordial. "Our VP of Sales, Mr. Miller, is going to meet you at lunchtime. I don't think Mr. Bell, the VP of Engineering, is available at the moment."
Lenny nods. "I see. Can you please tell Don Hanson that Lenny from BGSoft wants a quick word with him."
Lora's calm is now broken. Don Hanson is Intelogic's president.
"Please sit down Mr. Abrahms. I'll see what I can do."
Lenny sits in the leather armchair at the corner of the office. After several seconds Don Hanson strides into the room.
"Lenny, I'm so glad to have you here. I talked to Scott about you coming to check us out. Somehow I wasn't notified you were coming today. I apologize for the misunderstanding."
Don turns to Lora.
"Is Chris in his office?"
"Yes. He's conducting his weekly meeting with the team managers."
"Good. That means that Dinesh is with him. Let Chris know that Lenny Abrahms from BGSoft and I are coming down to his office. Now."
Lora picks up the phone. Don turns to Lenny.
"I wish I could sit with you myself, but right now I have some people from China in my office. Chris Bell is our VP of Engineering, and I believe at this stage, you would be more interested in talking to him than to me. Let me take you to his office."
Don walks Lenny to the elevator. While they are going up, Don tells Lenny that Engineering is quite busy polishing the new version announced for release in a month. The new version adds the financial aspects to the global optimization. Lenny wonders about the accuracy of their release schedules. Hopefully it's better than the airline last night.
Just as the door of the elevator opens, Chris Bell, vaguely familiar to Lenny, comes down the corridor to welcome them. He is followed closely by another guy
"Lenny, let me introduce Chris Bell, our VP of Engineering, and our chief scientist Dinesh Nagpal. I'm sure Lenny Abrahms needs no introduction."
"Hello, Lenny," Chris says as they shake hands. "We have met briefly on several occasions. Great to have you here. Meet Dinesh. He is the chief mind behind our optimization methods. He holds a PhD in Math from Cornell."
"I see that I'm now in good hands," Lenny says to Don. "I know you have to go back to your guests."
They sit down in Chris's office. Lenny opens his laptop case and pulls out a diskette. "This contains a small case study I've done for this occasion. You have it here in two formats, in Access and as a text file. Can you import one of these to Intelogic?"
Chris smiles. "No problem. Dinesh, can you see to that? I'm curious to see the details of the case."
Dinesh turns to the computer, inserts the diskette, and imports the case into the Intelogic system. Dinesh then uses the Display Options to get the hang of the case. Lenny reviews some of the details with them.
Chris laughs as some of the complexities are revealed. "I see you have prepared an interesting case study for us. I love it."
Lenny explains. "This is not a fictional case. This is a much simplified version of a real company I worked with about twenty years ago. Of course, the computer system at that time was pretty primitive, so I had to know every detail by heart in order to force the system to do the right things. Now, before we start, what should I expect to get?"
Dinesh answers, "The first objective is to see that all the customer orders can be shipped on time, considering material availability, capacity constraints, and tool availability. This is the most important objective."
He runs the program. In seconds they get a split screen with blinking data lines.
Chris proudly says, "In almost no time the optimizer considers all the data and comes up with the best practical schedule for every product, material, and work center. Exactly what has to be done, when, and by whom. What is now displayed is the essential summary; the result of following this schedule."
Lenny is not particularly impressed. The example is relatively small, and today's computers are powerful. What will impress him is not speed, but rather the quality of the results.
He listens attentively to Dinesh's more explicit explanation. "What we see here," he points to the left of the screen, "is that the optimizer identified three bottlenecks. In other words, these three work centers simply don't have enough capacity to process all the orders on time. Therefore, unless we add this much to capacity, some of the orders will be delayed relative to their promised due dates.
"What we see here," Dinesh moves his finger to the right of the screen, "is the new Master Schedule with the updated shipping dates. The two blinking lines are the two orders that will not finish on time. You see, one is going to be delayed by four days and the other by twelve."
"This is one of the big advantages of the software," Chris says proudly. "It tells you in advance what problems you are going to face, so you have enough time to take corrective action."
Lenny leans forward so he can better read the information displayed. After a short while he remarks, "I see that most orders will finish ahead of time. A few are scheduled to finish way ahead of time."
"Yes," says Chris. "The optimizer minimized the impact of not having enough capacity to affect only those two orders."
"But," Lenny wonders aloud, "can't we schedule it that, for example, this order will not finish so early, and use the capacity to reduce the delay on the two late orders?"
"Apparently not," Chris says confidently. "This is the best practical schedule."
"How do I know that?" Lenny asks.
Lenny knows that to construct a schedule is not a big deal. To construct a good schedule is. To construct the best schedule has been declared by mathematicians to be an unsolved problem. That is probably why Intelogic is careful to state that they provide the best practical schedule. Since no one has defined what "practical" is, they can get away with it. Lenny will be happy with a good schedule, but he is not ready to just take their word for it.
As he expected, Dinesh is the one to answer, but his answer is not what Lenny expects. "Do you want me," Dinesh says, "to print the detailed schedules of all the work centers? Do you want to try and verify for yourself that it is impossible to improve on one of the two late orders without creating bigger damage to the other orders?"
Lenny doesn't like Dinesh's suggestion. As a matter of fact, he regards it as a blatant attempt to deceive him. Controlling his impatience, Lenny says, "Even on my relatively small example there are enough variables to cause the number of possible schedules to be astronomical. How much time do I have to invest in doing what you are suggesting? A year?"
Dinesh doesn't answer.
Lenny doesn't like it. They are the ones claiming that Intelogic schedule is the best practical schedule. Rightfully, Lenny expects that they will provide a proof for their claim rather then sending him on a wild goose chase.
Realizing that Dinesh and Chris are not going to offer a way to really check the quality of their software, Lenny has no choice but to do it himself.
"Can you consider a situation where machines have to be idle for maintenance?" he asks.
"Of course," says Chris. "Intelogic is capable of taking maintenarice into account in whatever way you want. This is one of the strengths of our software. It can mirror the reality of almost any plant."
"So it will not be a problem to schedule one-day maintenance on one of the bottlenecks?"
"Not at all," Chris assures him. Then he realizes that Lenny would like it to be done now. "Dinesh?"
Rather than making the necessary change, Dinesh comments, "To deal with the late orders we should give more capacity, what you're asking for will do the exact opposite."
"I understand," Lenny answers.
Dinesh looks as if he wants to argue, but seeing Lenny's determined face, he turns to the keyboard.
"What I'm expecting," Lenny says, "is that reducing one day on a bottleneck will cause the two late orders to be delayed by another day, and some of the early orders will not be as early."
"You already rart it? Good. Now let's see what we've got."
One of the two late orders is not late any more. Instead another order is late.
Lenny's face hardens. "Can you explain this?" he asks Dinesh.
"You have eliminated a day on the bottleneck and that is the result. That's the best that can be done in the situation that you have dictated." Dinesh says flatly.
"Dinesh, you keep on telling me that 'that's the best.' You don't give any proof, you just claim it. Why should I take your word for it when the result that I see doesn't make sense. Look, the data didn't contain any information about the price of the orders or the relative importance of the clients. So, juggling the orders' completion dates around was done for no good reason. Can you explain it?"
Chris comes to the rescue, "Lenny, this is what is so good about the software. The downtime for maintenance is noted, and a new schedule is generated. So from that you can see that when things do not go as planned, when you lose time due to unexpected problems, you can run Intelogic again, and you'll get a new schedule which tells you the best you can do to meet the due dates. Of course, when too many failures occur, you may have to add overtime. Intelogic will lead you to recognize that need."
Lenny has had it. "Listen guys, stop trying to jerk me around! I'm trying to check the quality of the schedule and you ignore my questions and give me a sales pitch! Can we talk straight? I'm not a prospect that you're persuading to buy a copy of the software."
"You are much more important than a regular prospect," Chris says, trying to pacify Lenny. "We know that you didn't come to buy one copy of our software. If anything you came to buy the entire company."
"And you don't want to be bought?"
"On the contrary," Chris answers with a straight face. "There is nothing I would like more than becoming a multi-millionaire. And besides, I'd love to belong to a company with endless resources to invest in further development."
"If that's the case," Lenny says gently, "let me give you some advice." Looking directly at Dinesh he says, "Be as frank as you can with me."
Dinesh's color deepens.
"Let's cut to the chase/' Lenny says. "What gives you the confidence that the schedules that Intelogic generates are even good?"
If Dinesh starts to run on about the algorithm, Lenny decides he will give up and leave. There are many other APS companies. As it turns out, he doesn't have to write off the day because Dinesh is no longer trying to put up a smokescreen.
"There are two reasons." Dinesh answers. "The first is that I spent a lot of time trying to match myself against Intelogic. The current version beats me every time. I know that doesn't say much..."
"It says a lot," Lenny encourages him. Dinesh's color is returning to normal. "What's the second reason?"
"I've tested the results against other APS packages. Most are not even coming close, and no one gives better results."
It is unclear what criteria Dinesh used to compare the packages, but from his body language, it is apparent that he is reporting his true impression. That's good enough for Lenny. In telogic schedules are not the best possible schedules but they are probably the best an APS computer system can give. Is it good enough? Will they bring enough value to its users?
"Dinesh, can you explain to me why the results of the second run was so dramatically different from the first run?"
"It's the nature of the beast," is the answer. "Look, what is the meaning of an optimized schedule? We are trying, as much as possible, to schedule everything back-to-back. That's the only way to maximize capacity utilization and to minimize lead time. So when a resource has finished a task, the software attempts to schedule it to immediately start another task. When one task is finished on a work order, the software attempts to schedule the next task on that work order to start as soon as possible.
"Now you can see what must happen when you change the starting conditions. Suppose that the change is minimal. It is restricted to one work order being a little bit delayed. This change is now spreading to other work orders and to other resources. Simply, since we cannot afford resources standing idle, the resource that would be assigned to our work order is now assigned to another work order. Likewise, the assignment of another resource, the one that is supposed to do the next task on our work order, will have to change, and so on. The change is spreading to the entire operation."
Lenny knew all that before he came. Therefore he doesn't have any difficulty stating the not so trivial conclusion. "That means that the less spare capacity in operations, the more unstable the schedules become."
"Unfortunately, that is the case," Dinesh confirms with a nod.
Lenny decides to move on. As he expected, the APS software products schedules are not the "practical" best, and they are unstable. But the schedules that plants are following, schedules that are generated by reacting to demands and surprises, also suffer from those problems. So it is still possible that using Intelogic will bring benefits to a plant. To increase his chances of checking it is essential to preserve Chris's, and even more so, Dinesh's openness and collaboration.
"Accepting that Intelogic is one of the best APS packages available," Lenny says, "please regard my next questions in the proper light. Do not take them as criticism on Intelogic, but as a sincere attempt at understanding the value of APS packages in general."
"We understand," Dinesh says graciously.
"I understand that in most cases, the user is adding capacity until all orders are scheduled to finish at or before their respective due dates?"
Dinesh is careful now. "Correct," he says. But to make sure that Lenny does not misinterpret, he clarifies. "Of course, the user will not add capacity to the point that all orders finish ahead of time. He will do it only up to the point that most orders will finish on time or with an insignificant delay. Don't forget that the second objective of Intelogic is to increase the efficiency of utilizing the existing capacity."
"That's what I thought," says Lenny. "Now we know that Murphy exists. That we cannot realistically expect that reality will precisely follow our plan. That disruptions constantly occur on the shop floor, that..."
"Of course," Dinesh cuts the string of repetitions. "That's reality."
"With that in mind," Lenny continues, "would you say that your schedule is realistic?"
"What do you mean?" asks Chris.
"If at least one order, and probably many more, are scheduled to finish exactly on the day they are due," Lenny explains, "then due to delays caused by Murphy they will not finish on time. If this is the case, then Intelogic's promised due dates are not realistic."
"Well, this is not entirely true," Dinesh objects. "Most users put more liberal time estimates, some safety time, into their data. These safety times reduce the severity of that problem."
"But doesn't putting more liberal time estimates negate Intelogic's second objective? Doesn't it reduce the ability to use resources efficiently?"
"It also increases inventory and elongates the lead times," Dinesh says, enhancing Lenny's argument. "But most users see it as a trade-off. The more safety time added, the more reliable the schedule is, but the less effective resource utilization is."
Lenny sees now a possible way in which the APS can bring real value. "Dinesh," he says thoughtfully, "you have much more experience than I do at optimizing schedules. Isn't it true that the same amount of safety time when inserted in one stage of the process can help much more than if it is inserted in another stage?"
"Yes, it is," Dinesh confirms. "For example, inserting safety time right before a bottleneck is much more effective than inserting it in other places. But the bottlenecks may move."
"If that's the case, can a user of Intelogic specify the total amount of safety time he is willing to give and have the software insert it in the right places? This might give much better schedules than can be done manually."
"No," Dinesh answers flatly. "Intelogic does not do that."
This is too important for Lenny to drop the issue. "Why?" he asks.
"Because we handle this issue in a much better way," comes the triumphant answer. "You see, we don't ignore the fact that Murphy will cause problems. But we also do not recommend inserting safety times. When there is a disruption, like a machine breakdown, or if a vendor doesn't deliver on time, the user should rerun Intelogic. He will get a new optimized schedule.
"Optimized" Lenny thinks to himself. We have already established that Intelogic schedules are not optimized, they are not even exceptionally good. Forget it, he tells himself. Listen to what the man has to say.
Dinesh continues, "If the disruption is severe the software recommends adding capacity. As you've seen, it tells you on which work center overtime is needed and exactly how much. We don't use safety time to protect the schedule. It's too expensive. We use safety capacity."
The last sentence triggers Lenny's interest. That is an interesting approach," he comments. He tries to examine it. "Safety TIME must be added before the disruption occurs, and it might not occur at all. That means that whether or not Murphy hits, the penalty was paid; inventory and lead time have increased. But with safety CAPACITY, the user decides on it only after the disruption occurs. So the amount of overtime used is exactly the amount needed. Smart."
Dinesh looks smug.
Lenny adds, "This might be of value to any plant."
Chris now feels confident enough to add, "You are right. This is the biggest advantage of Intelogic. Every time there is a deviation from the plan, simply rerun and you'll get the new optimized schedule. This is our strongest selling point. The speed of the software is so remarkable that the user can even do it every hour."
Lenny ignores Chris and continues. "But I see a major problem. If I understood you correctly you suggest rerunning the software every time there's a disturbance."
"Maybe not every time," Dinesh tries to protect the feasibility of his approach. "But the more frequent the better."
Lenny is troubled by something much more fundamental. "Didn't we say that almost any change in the situation, even a small change, results in a reshuffling of the schedule?"
"Yes."
"And that doesn't bother you?"
"Why should it?"
"Because reshuffling of the schedule of everybody means that we helped a local disturbance, a local problem, spread to the whole plant."
Dinesh doesn't respond.
"Doesn't it bother you?" Lenny is surprised. "If we institute a mechanism that helps to spread the impact of local disturbance, we might jeopardize the performance of the system much more than we help it. If we help any small blip, anywhere, to tangibly affect the work of everybody in the plant, we turn random noise into deterministic deviations. We both know that such a thing might throw the whole plant into chaos. It's basic statistics." He stops and looks at Dinesh for an answer.
"I've thought about it," Diriesh says.
"Of course you did. What is your conclusion?"
"You said that 'we might throw the plant into chaos.' The word 'might' is the key word in your argument."
"Yes," says Lenny. "But you know that the nature of the dependencies in a plant causes the individual delays to accumulate. There are many articles about it. So the chance of throwing the plant into chaos is high. As a matter of fact, the more I think about it, the more I'm convinced that it's almost guaranteed."
"No, Lenny. It does not happen."
Lenny is willing to let himself be convinced by Dinesh. But he needs proof.
"What prevents it from happening? What dumps the accumulation of the delays?" he asks, waiting to hear the logical, or at least the mathematical, proof.
"It simply does not happen," Dinesh says confidently. "Our clients are reporting excellent results."
For the last twenty years Lenny has worked in the real world, so for him this is a very strong argument. But he also learned how careful one must be with such arguments. "What is the correlation between the frequency of running Intelogic and the improvement in your customers' results?" he asks.
Dinesh doesn't answer.
Lenny realizes that Chris, in order to let Dinesh concentrate on his work, is probably shielding him from the field. Lenny turns to Chris and repeats his question. "A customer that runs Intelogic every hour, how much does his performance improve relative to a customer that runs Intelogic only once a day?"
"I don't know," Chris admits. "As a matter of fact, I doubt if we have any customer that runs our software every hour. Most run it only once a week."
Dinesh looks at Chris with surprise.
Well, Lenny thinks, back to the drawing board. Aloud he asks, "Can I get a list of your customers who report the best results?"
"Of course," Chris assures him. "Keith Miller, our VP of Sales, who you are meeting for lunch will be happy to provide you with some names." He glances at his watch. "Perfect timing. Let me take you to Keith's office."