In the "old days" (the late 60's and early 70's), few application software "packages" were available on the market for clients to buy. Software was developed by in-house programming staffs to fit the (most rudimentary) needs of the client, after a computer had been purchased.
With the development of strong and inexpensive computers, however, the evolution of good software has been nothing short of phenomenal, and this evolution is continuing at a torrid pace. Thousands of packages are now marketed worldwide, for almost every function one can imagine. However, as anyone who has seriously evaluated this available software knows, it seems that no package fits your company exactly. All the available packages seem to have been written for some other company that is similar to yours, but not exactly like yours.
Of course, if you are fortunate to be in some "tight" vertical market, in which government regulations or some other factor make all companies adhere to very similar operating methodologies, or if you are looking for software for a very specific task, packages do exist that fit very well. For example, software companies have developed excellent packages for medical billing and many other very specific applications, and these packages serve their specific function quite well.
For a manufacturing company or a distributor (of almost any product), and for almost all other mid-size or larger companies, no package fits all the functions of the company in the way the company has chosen to operate. In fact, most (if not all) do not fit well enough to be sufficient on a day-to-day basis. So how does an organization evaluate and select software, with a reasonably high probability that it will work well?
The first step is to realize that whatever software you select is a foundation from which to "tailor" your own specific system. As we state it, "software is a service, not a product." Good application software is a combination of this foundation of pre-developed programs and both short- and long-term customization services to make the system fit your unique operation.
Purpose of Application Software
When you think of the reason you want the software, its purpose is always to streamline the work involved in processing your business transactions, and then present the resulting information to the right people at the right time for the right purpose in the future.
Whether the system is used for credit management and accounts receivable, purchasing and accounts payable, manufacturing planning and control, or managing inventories, it must help you work faster, smarter and more efficiently.
Some software applications, like general ledger and accounts payable, can often work very well "right out of the box." However, most organizations require customizations to Sales Order Processing, Inventory Control, and several other applications, simply because every organization is different, and that difference is what makes them successful . For their computer system to ignore these differences is completely unacceptable, and rightfully so.
So for software to be successful, or rather for the organization to be successful with its software, the software must fit the client's needs at the most detail level. And since organizations differ from one another at this detail level (how commissions are calculated, credit policies, inventory stocking policies, etc.), all software will need some customizations to work satisfactorily.
Key Criteria In Software Selection
Therefore, the important issues in the selection (and on-going maintenance) of application software are:
- Does the "foundation" of pre-developed programs fit as well as possible? For example, you do not want to start with a medical billing package if you are a manufacturer. Start with a set of programs that fits your company as well as possible.
- Is the pre-developed software designed for customizations, and are all the tools available to the programmer to make these customizations as efficiently as possible?
- Are experienced, professional programmers available to customize the software for you? Like the "old days," these programmers may be on your own staff, or the provider of the software may provide them, but they must be available to you for your system to be successful.
- Finally, does the software provider also provide an efficient and cost-effective means for you to upgrade your software to newer releases, even though you will have customized it to fit your specific needs? Today's technology tools provide the system to keep track of every change and automatically place it in the new version. Be sure your software has this capability.
Dozens of software providers exist in the computer market. However, only a few have the capability to make the software work for you through customization. The large majority of software providers provide only pre-developed packages, and leave the rest up to the buyer. This approach can often appear to be inexpensive, but it can be very costly for the client. There are profits in efficiency, and you can achieve profitable levels of efficiency with a software package that fits all these requirements.
This programming capability is what sets MASI apart from the rest of the market. It is our goal to make the software work for each and every client, not just at the beginning of our relationship, but on a long-term basis. We provide a shared staff of developers for our clients, so that the client's software can continue to keep pace with their ever-changing business environment, as they choose.
Without this on-going customization capability, the software will eventually grow apart from the organization's needs, and the system will fail. With it, the software will last indefinitely, and the system will remain successful.