An approach that tracks the evolution of a process or the software that supports that process is the capability maturity model (CMM). CMMs usually take four or five steps to describe a journey from immature to mature. This figure shows a four-step CMM.
People naturally want to jump from an immature process to a mature one, but virtually every process and every piece of software has to make the journey in gradual steps. Understanding where you are on a CMM can help you focus on where you’re headed and what you need to do next to get there.
A process needs to be stable and repeatable before it can be automated effectively. Automating an immature process often leads to extra work, such as correcting inaccurate data and overriding rules in the system.Supply chain software is a business investment. When evaluating any business investment, it’s a good idea to compare the financial consequences of making something versus buying or renting it. You can apply this approach to evaluating an investment in automating a supply chain process by comparing four options:
- Run the process manually, without software (do nothing).
- Buy software off the shelf from a vendor (buy).
- Subscribe to a cloud-based solution (rent).
- Create a program from scratch (make).
The rent option is newer but rapidly becoming the norm. Instead of buying and installing software on your own computers, you can get a subscription to software that runs in the cloud. You have nothing to install; you just access the software through a web browser or an app and pay for it as you use it. In other words, you rent the software.
Making supply chain software involves writing your own software code. For companies that have unique requirements, writing their own software may be a worthwhile investment. But many companies end up making their own software without realizing it. Here’s an example of how companies can accidentally create problems by making their own software:
- Someone decides that they have a lot of information to keep track of and that things are slipping through the cracks, so they create a spreadsheet to start organizing the data. The spreadsheet becomes a critical part of managing that process.
- The spreadsheet takes on a life of its own, with more fields being added, and it’s shared with other people who also start to rely on it and make improvements.
- As the spreadsheet gets bigger and is used more often, people start writing macros and creating complex formulas that automate process steps. At this point, the spreadsheet has actually become a simple software application, but no one realizes that fact yet.
- The spreadsheet file gets so big that it starts to run slowly, and eventually, the data gets messed up when someone makes a data-entry mistake. To improve the performance of the now-critical spreadsheet, someone creates a database, using a tool such as Microsoft Access.
- Access is too limiting, so soon the database is rewritten in Structured Query Language (SQL). Now the database is really, truly storing critical data and is essential for operating the business, but no documentation or training materials exist. Then the system crashes unexpectedly, and no one knows how to fix it.
- A vendor shows up with a piece of software that does something very similar to the database, but does it better and with more bells and whistles. The cost of buying (or renting) this software is cheaper than the cost of maintaining your homegrown system. You need to decide whether to discard all your old data and start fresh or spend a bunch of time and money to import your old data into the new system.
An important rule applies to every supply chain software system: The usefulness of the system depends on the accuracy of the data it has to work with. In other words, garbage in, garbage out. Providing quality data to the system in the first place is very important; so is maintaining the integrity of that data over time.