Do not break the end-to-end
As context read my blog on the return of big software firm domination. It talks about my fear that BoB (Best-of-Bread) SaaS (Software-as-a-Service) vendors will break your end-to-end processes into little individual pieces. So the “Do not break the end-to-end” Architecture Principle simply says “Don’t do that!”
You should give the foundational end-to-end process to as few vendors as you can. I’m not saying letting your company be run 100% by Oracle or SAP is the way to go, but be careful where you break processes up between multiple applications. For example, having your HR processes be supported by a different application than your Purchasing processes is perfectly fine. On the other hand, separating out processes that were all integrated during the origins of ERPs is a different story. So before you break Purchasing, Inventory Management, Manufacturing, Sales, Distribution and Finance/Accounting up into separate applications be very clear what you are getting into? These are tightly integrated processes that you will have to integrate yourself if you break them apart.
It gets even worse if you try and break these larger processes (Purchasing, Inventory Management, …) into smaller pieces. There are some places in the end-to-end where you can break the process apart and give it to different applications but be very, very careful.
As mentioned in my earlier blog I am a big fan of SaaS. Even the little niche SaaS apps that might seem like they’ll cause you to break up your end-to-end process. Don’t let them. Let’s take an advanced preventative maintenance example. Let’s say you developed or your production machine supplier provided software that can predict machine failure and thus can tell you when you should have maintenance done before the machine breaks. Don’t have this software create your maintenance order but rather have it feed your plant maintenance or ERP system the information it needs to create a planned or actual maintenance order. Now your integrated plant maintenance system or ERP can treat this process just like a manual create of a planned or actual maintenance order. For master data also have your system of record (e.g. Plant Maintenance system, ERP or MDM) tell your custom developed software or BoB SaaS solution what manufacturing machines (and data about those machines) you have. This way your create, change, delete process for manufacturing machines is in one application.
In short, your custom or BoB solutions are there to augment your end-to-end processes not to replace steps in your end-to-end process.