The New EA Paradigm (3) The Provide-from-Stock Pattern
Last time I developed the Strategy Pattern "Make-to-Order" for you. This month I will continue this series with the "Provide-from-Stock" Pattern.
Initially, the customer is willing to accept the limitations we've been exploring … they don't know any better. But, over long periods of time (50 or a hundred years), they get frustrated and they drive the manufacturer out of a Job Shop into a Standard Production Environment (mass production) in order to solve the problems. Actually, the problem is the strategy. As long as the strategy is Make-to-Order … those are the problems. If you want to solve those problems, you have to change the strategy. Provide-from-Stock: manufacture standard products to inventory before you ever get an order and then, when you get an order, deliver the standard product off the shelf. That will fix some of, but not all of, the problems.
Lead Time — goes to zero. You deliver the product off the shelf.
Per-unit Product Cost — way down. You spread the engineering (manufacturing engineering) production costs over many products.
Reliability/Availability — way up. You reuse the same parts on all the standard products.
Maintenance Costs — way down. You can make a profit on the spare parts. In fact, spare parts can be manufactured by Other Equipment Manufacturers (OEMs). Generic spare parts — low maintenance costs.
You know the one I left out? … Product Flexibility. "You can have any color you want as long as it's black." (Henry Ford) The customer takes the standard product. They change the use of the product to fit the product. You buy a Buick off the shelf … and you want to haul chickens in it. Well … you haul them in the trunk. What you don't do is, you don't reverse engineer the Buick into parts and then re-engineer it into a Toyota pick-up truck! That will take longer and cost more. You would be better off going to a job shop and getting them to custom build a pick-up truck for you than to reverse engineer a standard product into parts and re-engineer them into a different product!
Changing the strategy from Make-to-Order to Provide-from-Stock fixes a lot of the problems … not all, but a lot — BUT it is a different kind of business. Now you have to have a capital investment in plant, raw material, machine tools, people, operating money … you have to have product forecasting because you don't want to manufacture finished goods that the market won't buy. You have to have material management because you have a large investment in in-process inventory and finished goods inventory. You have to have production scheduling, quality management, marketing, distribution, product support, and a bunch of other things … BUT you stay in business.
You have probably already figured out the Data Processing parallel to Provide-from-Stock … Commercial Off the Shelf Software (COTS). Management says, "Why are we building these applications?? Buy them! We get immediate delivery, low per unit product cost, high reliability, low maintenance cost. Buy them … don't build them!
But remember … you take the standard product off the shelf. "You can have any color you want as long as it's black." You change the use of the product to fit the product … that is, you change the Enterprise to fit the package … don't start changing the package to fit the Enterprise … if you start changing the package to fit the Enterprise, all the reasons you bought the package will evaporate in about 13 milliseconds! To reverse engineer the package into data elements and instructions and re-engineer it into a different package … it would take longer and cost more. You would be better off to go to your old Data Processing shop and get them to build you a custom application than to take a standard (COTS) application off the shelf and change it into a different application. And, by the way, the moment you touch that COTS application, you own it! The warranty no longer applies. If the original manufacturer ever changes the application (which they will about every three months) YOU are now responsible for all changes.
So, don't buy the package unless you have an architectural 'fit' … but that presumes that the package has an Architecture … and that you have an Enterprise Architecture to which to compare the package. Otherwise, just do yourself a favor and change the Enterprise to fit the package.
So, you can see the strategy pattern:
"Make-to-Order" ===> "Provide-from Stock"
But … what happens to the supplier when the customer doesn't know or can't define the characteristics of the product they want to take delivery on until the moment they want to take delivery? Now what?
... You can't wait until you get the order to engineer and manufacture the product.
... You can't anticipate every product that any customer will ever want to take delivery on — the "killer" product — and already have it in stock.
Next time I will develop a final pattern, the Strategy Pattern Assemble-to-Order, for you.
This article can also be viewed on John's blog — presented here, with permission.
# # #