Success in business comes at a cost, and one of the more painful prices is growing pains.
In the early years of a company, the manager’s time is spent refining the product or service and acquiring the initial customers. At this stage there are many off-the-shelf software packages that are more than sufficient to handle the startup company’s needs; a suite like Microsoft Office provides document formatting for invoices, spreadsheets, and email — the bare bones basics needed by any company. The hidden problem with many of these software packages is that they only meet the current needs of the company, and are often selected without regard for the company’s future needs.
As a company grows, its software needs also grow. Using a word processor to create invoices works fine for a handful of customers, but not for a hundred. Successful companies will periodically outgrow the software on which they depend and on which the company’s processes are built. The company has been acquiring not only customers, but data as well. That data in a small company is too often simply a record of the past; large companies use that data to help anticipate the future. Accounting, inventory control, process management, customer relationship management (CRM), and enterprise resource planning (ERP): these are all business applications that enable the managers of a company to use the data they have in order to improve the business.
A company’s stage of growth determines the scope of the business software currently needed. One of the earliest types of business software needed is an accounting package; as the customer base grows and new markets are entered, there is an increased need for accurate and detailed accounting. Many people have difficulty realizing that business software is, in fact, a capital investment and that its purchase should be treated as such. Business software is expensive and its purchase is a long term commitment that will affect the company for many years. The decision to purchase software must include consideration of the company’s future, and with that in mind the scalability of software becomes an important factor.
Scalability is the ability of a software package to adjust to fit the needs of an individual company as the needs of the company change. Typical methods of making a software package scalable include having optional modules that the company can purchase at a later time, integrations with other software vendors, and a published API (Application Programming Interface) that allows third party software vendors (or the purchaser) to customize and enhance an existing package. Scalability also influences whether the company will be required to adapt its processes to the software or be able to adapt the software to the company’s processes.
Replacing software is often a painful process; it’s expensive to purchase, requires retraining, and typically requires changes of the company’s internal processes. While growing pains can’t be avoided, they can be alleviated in the future by including consideration of the company’s future goals and scalability when evaluating business software products.