40
$\begingroup$

You probably have done some OR projects within the industry or - if you are in academia - for the industry. I'm wondering if you've seen some patterns of why such projects fail (or at least do not meet the clients requirements). Surely, there might be causes which are common to any other non-OR project but I'm specifically interested in ones that occur only within an OR context.

$\endgroup$
1
  • 3
    $\begingroup$ Communication, communication, communication. $\endgroup$
    – Mast
    Commented Nov 2, 2019 at 13:11

9 Answers 9

41
$\begingroup$

In addition to what others have shared, in my experience, the following can cause industry OR projects to fail or can at least cause big issues and/or delays:

1) Quickly changing problem specification. The problem specification often changes very rapidly (e.g. hard constraints become soft), as the client gets a better idea of what optimisation can offer. If you cannot keep up with the changes and develop a decision support system that really solves the client's project, the client might not accept it.

2) End-users' trust and acceptance. If the end-users do not accept or do not trust the decision support system that has been built, then they will not use it, which is one of the worst case scenarios. Two measures can help with this from my experience: involve the end-users as soon as possible, and give them the sense that they are still in charge of making the end-decisions, for instance by providing several solutions from which they can choose from.

3) Many soft constraints. In real-world applications there are often a lot of soft constraints and it can be very challenging to weight them according to the client's preferences (and for the client to find out their preferences!), and to design solving approaches that can solve such complex models.

4) Fear of being replaced. I've heard of cases where domain experts on the clients side would boycott projects, probably because they feared being replaced by the decision support system (often rightly so).

5) Domain language. Probably not project-critical, but it can be a source of misunderstandings if the domain experts and the mathematicians use different domain languages that use the same vocabulary. For instance, if a mathematician talks about a "constraint" then they might imply that it is hard, while for the domain expert it might also be soft.

6) "It's always been like that". With some clients you might come across business rules or process rules that have been installed by someone (who has often already left the company ages ago), and nobody remembers why it's done that way. It can be difficult to identify these cases, and debunk them, but if you do, you get a better idea of the underlying problem and can often provide better solutions.

7) "Unspeakable" constraints. There are some constraints that the client will not be able to give you. For instance, when designing a roster, there might be employees who do not want to work together for personal reasons, so you should not schedule them in the same shift. However, it is not ethical to put this kind of information, say, into a database, from which you then extract these constraints. In such cases, your problem model will not be able to be fully accurate, and will not produce the solution the client would actually prefer.

$\endgroup$
26
$\begingroup$

I can immediately think of two reasons, both of which occurred on a consulting project in which I participated.

  1. Every project needs one or more "champions", people in the client organization with a vested interest in seeing the analysis completed and the results implemented. If the champions leave the organization or are transferred to some other part of the organization, the project may easily get shelved.
  2. Garbage in, garbage out. If the organization is working with incorrect / corrupted data (and nobody realizes it, or nobody can fix it), the analysis is probably doomed.

One other possible reason (that I've heard mumbled about but not tripped over myself): management wants the projected implemented but the IT guys are opposed (possibly because it will create headaches, real or imagined, down the road when the OR people are gone and the IT people have to maintain it).

$\endgroup$
3
  • 2
    $\begingroup$ I should have used the word "champion" in my answer. I would note that the Champion needs to be suffciently high enough up or influential for their support to be effective. $\endgroup$ Commented Oct 31, 2019 at 0:03
  • 5
    $\begingroup$ The IT one definitely happens. I was peripherally involved in one project where relations between the OR consultant and in-house IT went badly. I was still dealing with occasional patches of fallout from that years later, long after the consultant had gone off to bigger and better things. (Not that IT were opposed to the project per se, but they had some expectations about how software projects would be run, which were quite different to the consultant's expectations.) $\endgroup$
    – G_B
    Commented Oct 31, 2019 at 0:27
  • $\begingroup$ The correct project management term for the "champion" is the "project sponsor." Although I personally agree with the implied sentiment. $\endgroup$
    – Ehsan
    Commented Oct 31, 2019 at 16:05
15
$\begingroup$

Last year I attended a presentation by Maria Antónia Carravilla where she gave several case studies of optimisation projects, examining the factors affecting their success or failure.

Her main point was that project failures often have nothing to do with the technical aspects of the work and everything to do with non-technical factors, in particular stakeholder relationship management. She identified six key dimensions of client involvement in an optimisation project (a couple of which have already been mentioned in other answers):

  • Top management
  • Middle management
  • End users
  • IT staff
  • Having a team member within the client company
  • Deliverables (I think this includes the actual optimisation model/software).

She gave a couple of examples of projects where the optimisation was great in silico but failed as a project because these other aspects weren't adequately handled:

  • Consultants called in to improve decision process for a complex manufacturing business. One of the team members said that they could do much better than the company's production director, in his hearing, and he became hostile to the project.
  • Consultants working on decision support for reservations in a car rental company. They produced a system that was considerably more efficient than the existing solution, but there was a lot of work involved in providing the necessary data inputs, and the IT department was't willing to support it.

She also pointed out that projects that only need to be run once have very different requirements to those which will become a regular part of the client's business; the latter require much more attention to ease of use, user training, etc. etc.

$\endgroup$
14
$\begingroup$

Adding to the other good answers here...

Failing to employ an iterative process
The idea that a few meetings to communicate and understand the problem, scope the OR solution, desired outputs, etc., will enable the OR magician to disappear only to return with the holy grail is a fantasy.

It requires iteration. Develop initial capability, evaluate, improve or add capability, evaluate, ..., continue.

If during each iterative meeting, the OR team plus stakeholders explicitly ask What are the 10 reasons this won't work (for the stakeholders)?, then fix those issues, the team can often achieve convergence as they employ this strategy. Often the issues the stakeholders raise with a preliminary solution are fixable.

Clearly a good process to start the project affects this, but that's already well-covered in the other answers.

$\endgroup$
13
$\begingroup$

This may or may not be considered as occurring only within an OR context, but not getting senior-enough leadership guidance and buy-in on the client side (whether internal or external) as to the need for and value of the project, resources required (including support from people outside the OR analysts) as well as key assumptions and ground rules.

Here is a specific example (don't blame me, I was not involved nor had any opportunity to be). An OR study was done for a large industrial company, which among other things, involved cost/benefit analysis for a project involving the potential for large capital expenditures. The OR group did their usual wonderful analysis job, dutifully modeling the situation, applying relevant OR techniques, etc, just as they had done for smaller projects. The OR team only interfaced with mid-level people on the client side. The OR team asked those mid-level people what interest rate to use in their study, and were provided an interest rate to use commensurate with the company's borrowing costs.

WHOOPS!! Major Fail!! The recommended capital expenditure was so large that it would have likely lowered the credit rating of the client company, thereby increasing its cost of borrowing, which therefore should have been accounted for in the analysis. When the analysis results, which didn't account for possible credit rating change, was briefed to the CEO of the client company, he gave them the heave-ho.

$\endgroup$
9
  • 1
    $\begingroup$ So the project failed because one poor assumption that was (presumably) easily fixable so offended the CEO that he killed the entire project and threw away all their work? I guess "the CEO threw a hissy fit" is a potential reason for any major project to fail. $\endgroup$ Commented Oct 31, 2019 at 18:07
  • 1
    $\begingroup$ @Carl Leth Perhaps the "mistake" was fixable, but it was not necessarily "easily" fixable. The consequences of this error bore on the finances of the entire company. The feedback mechanism between amount of borrowing and interest rate was not accounted for. Cost of all future borrowing for everything would have gone up - not a minor nitpick $\endgroup$ Commented Oct 31, 2019 at 18:29
  • 2
    $\begingroup$ @CarlLeth Calling it "one poor assumption" is a bit like asking an engineering team to design a railway bridge, and after they complete the design discovering they ignored the weight of the trains that were going to use it. Throwing away all the "work" was probably all it was good for. What the CEO did about the idiots in his own company who were supposed to be managing the project would be more interesting to discover. Domain knowledge never materializes out of thin air - somebody has to provide it, and validate it. $\endgroup$
    – alephzero
    Commented Nov 1, 2019 at 1:06
  • $\begingroup$ @alephzero That's a good analogy, but on the other hand: surely we recognize that such underlying assumptions come with uncertainty, and may change in the future? Shouldn't every model come with contingency for what happens when those assumptions change? It would surprise me if the borrowing interest rate is so deeply critical to the other assumptions in the model that a change unrecoverably invalidates everything else. $\endgroup$ Commented Nov 1, 2019 at 16:57
  • 1
    $\begingroup$ @CarlLeth at that scale, that kind of financing stuff is what investment banks charge multi-million dollar fees to optimize. Its akin to forgetting an entire domain of your problem. $\endgroup$
    – mbrig
    Commented Nov 1, 2019 at 19:09
12
$\begingroup$

One obstacle in finding champions within the client company is that with OR solutions, there is a fear of automating decisions, which might make some people's job redundant. Or at least this impression can exist.

In that case, it would be important to emphasize, from the start, that the goal is not to replace people with algorithms, but rather provide them with a tool, to make even better decisions, or answer new questions that were out of scope before.

$\endgroup$
6
$\begingroup$

There are many reasons, but at the end of the day I believe it comes down to people like us trying to make industrial customers understand what optimisation is and how it works. Although this is a natural approach for academically trained people, this is not how products or services are sold, nor how adoption is driven. Adoption of a technology in every single field has historically been driven by automation.

People without the right training are unlikely to be able to really understand what we do, and that's fine. Unfortunately, it is hard to approach the adoption process in a different way due to (i) a lack of out-of-the-box solutions that clients can use and understand, and (ii) any decent industrial software in our field being obscenely expensive.

Think about why people like machine learning so much: in their mind, they just give someone a bunch of data and something good "magically" happens. Even better, all software they will need to use is free!

On the other hand, I have never once come across a situation where we could help a client adopt an OR solution (assuming they're not just buying a new solver or a maths compiler) without some consulting, a customised solution, and some integration work. The lack of our community's ability to do so is, in my opinion, due to a lack of tools designed (at least partially) for non-OR people. Even though some decent software for specialised things does exist, it is so expensive that very few people can afford it (or are willing to take the leap of faith), which stagnates market growth. This specialisation is literally killing the market: no-one wants to fork out half a million or more for something that doesn't do everything they (think they) might need.

One could argue of course that what we do is complicated and requires a certain level of boilerplate, but that's just not true - machine learning used to be equally obscure, but hype along with very good tools have turned that into something that people in the industry want to adopt. Heck, even maths enjoys smaller adoption barriers, largely due the efforts of companies like Wolfram or Mathworks.

In OR, the lack of this plug-and-play functionality makes non-experts distrustful: they don't understand the technology, they don't understand what it is that we'll do for them, they don't understand how they'll interact with it, they don't feel confident they'll be able to keep using the solution without the people who set everything up in the first place, they have to endure long iterations of meetings until we become able to communicate properly, and so on.

$\endgroup$
4
  • $\begingroup$ Can you expand a little bit on this "plug and play functionality"? I don't understand what are you looking for, could you give some examples? $\endgroup$ Commented Jun 3, 2020 at 20:11
  • $\begingroup$ Well what I'm looking for doesn't exist, that's the problem :) I refer to end to end ease of use that is similar to using machine learning for real problems through Python. $\endgroup$ Commented Jun 4, 2020 at 16:06
  • $\begingroup$ But do you think this is possible? I mean easier installation of tools is definitly possible, but the modelling is i think the bottleneck. In machine learning you have this plug and play functionality mainly because you dont need to develope a math model instead bring the data in a specific form. If we restrict the application this might be possible. SAP has a tool where non math people can click together an optimization problem. $\endgroup$ Commented Jun 4, 2020 at 19:34
  • $\begingroup$ @user3680510 That's actually part of our vision as a company, stay posted :) $\endgroup$ Commented Jun 10, 2020 at 14:23
5
$\begingroup$

Lack of Effective Communication and Challenge Discussions. When you are involved as a technical person leading model development in an optimization project, sometimes lack of communication between you and your clients can affect your model results and ultimately the applicability in real life. You miss one simple constraint and your results become impractical. This is especially true if you are new to the business and you have little experience of how the processes works on your client side.

In such cases, the best way is to ask as many questions as possible, even if they might feel naive to other people. Do not be afraid to use simple terminologies because its often the case that plant engineers or process engineers have little to no experience of operations research. Right effort at right time can save you from a lot of pain later.

Be open and be 100% prepared for the actual outcomes to deviate from what you see in your computer and not to succeed in your first few iterations while you would ideally expect to. Solving optimization problems on computer is one thing and bringing optimization models to life is another.

$\endgroup$
4
$\begingroup$

I haven't had the experience in any project in the industry but in my research which is on a collaborative project, I can see the potential reasons for failure:

  • Lake of a common understanding of the problem to solve.

Usually, it is very hard to have the same understanding of details and the same technical terms if you don't have the same background (in terms of educational major).

  • Implementation is hard

It is sometimes very hard for the industry or project partner to accept all the details of what you propose and then implement it. As an example, when your solution to a problem in a factory floor needs the replacement of a production cell, it is almost impossible to convince the management to implement the changes unless you speak in their own language (profit, profit, profit). So you need to have an explanation (in terms of money) for all aspects of your solution unless the project will fail.

  • Lack of sufficient amount of necessary data

Although most of the time it is hard to gather the data that you need to model the details of the project, sometimes you won't have those data because of either it's impossible to gather the data with the equipment in use, or it needs a long time and hard work to get the data so in this situation you need either to consider some assumptions or estimate them. Both of ways are very prone to failure.

$\endgroup$
4
  • $\begingroup$ On the lack of common understanding, do you think that, for an OR expert, having direct communication with the clients is important? (Instead of having an intermediate non-OR staff that will communicate both with the clients and with the OR team) $\endgroup$
    – Antarctica
    Commented May 19, 2020 at 13:20
  • $\begingroup$ @AmiraZarglayoun, in terms of understanding the details of the system, there is no difference between a client and a non-OR communicator. To handle the OR problem, you need to have a good understanding of the system. For example, (I personally experienced that), when you talk about the optimal solutions, the client may think of a feasible solution. $\endgroup$ Commented May 19, 2020 at 13:28
  • $\begingroup$ As an OR expert, you have the right questions to ask in order to model the problem. You could ask the question to the communicator(who will ask the client) but I guess it could take much more time. What do you think? I am at the beginning of my professional career and I will try to convince the company for which I work to be in direct communication. $\endgroup$
    – Antarctica
    Commented May 19, 2020 at 13:51
  • 1
    $\begingroup$ @AmiraZarglayoun You can make sure that you asked the right question to get as much as possible required details to work on your model, but you can not 100% sure that the answers to your questions are adequate and complete. Your observation as an expert will be totally different from other people's understanding. $\endgroup$ Commented May 19, 2020 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.