Can’t We Develop Our Own Planning and Scheduling Software? (Part 2)

In our previous post, we talked about how Excel might be fine for scheduling for a few shifts.  However, the real benefit of production scheduling software / advanced planning and scheduling software comes from considering multiple simultaneous constraints while scheduling out on the time horizon.

Can your organization develop such software? Maybe, but your programmers better be talented and dedicated, you better have a lot of time to spend with them, and you better not make decisions that lock you into an inappropriate programming or operating system environment.

Production scheduling software and advanced planning and scheduling software is highly specialized.  Vendors of this class of software have spent years perfecting their products.  Developing such software requires not just good programmers, but also people who really understand and can communicate how manufacturing works.

Think about how many planning and scheduling vendors you can name.  Are any of them household names?  In markets that are easy to enter, you’d expect to see two states, depending upon where the market is in its development.  Early in the market’s development, you’d see a lot of competitors because barriers to entry are low.  Later in the market’s development, you’d see one or two big companies that have developed economies of scale and have pushed out smaller competitors.

If you look at the planning and scheduling software market, which is a couple of decades old, you’d see neither of the two states above.  The market consists of more than a few relatively small vendors.  A market with this kind of competitive structure is characteristic of high barriers to entry, and indicates that much specialized expertise and software is required.

Think about the situation another way.  In your environment, list all the different factors that influence when job can start and finish.  If multiple jobs can start at the same time, list all the factors that determine the order in which they should be scheduled. If you are not sure of the order, ask others in your company for help.  Once you have grasped all the factors, start trying to write logic to determine where and when jobs should be scheduled.  My guess is you you’ll discover it is a difficult task.

Even if you can develop the necessary logic, you’d have to spend a lot of time getting this specialized knowledge out of your head (or the heads of others in your company) and into the heads of your programmers.  Don’t underestimate the difficulty of this task.

So, can you write your own production scheduling / advanced planning and scheduling software?  Sure, but you’d better have a lot of expertise, a lot of money, a lot of time, and a strong stomach for risk.  What are you willing to bet on your success?