Understanding and being confident in the scalability of the core applications (e.g., ERP, CRM) that support your business is fundamental to your technology strategy. At the most macro level, scalability can be broken down into technical scalability (the ability for an application’s architecture to handle increased load without degrading performance) and functional scalability (the ability to enhance an application to meet new business requirements that develop through business growth with minimal effort). Though both are equally important to assessing the long-term fit of an application, most organizations focus only on technical scalability because it can be done relatively quickly. I start with the following criteria when assessing the functional scalability of a Client’s or Target’s core applications:
- The “Multis”: As the business grows organically and through M&A, certain core functionality is typically required to support this growth. Common capabilities, known as the “multis”, include multi-language, multi-company (i.e., each new legal entity does not require a separate system instance, which poses long-term maintainability issues), intercompany transactions, financial consolidations, and eliminations. Confirm how data is shared between companies within a single instance (i.e., it should allow the flexibility to share or block certain information).
- Extensibility: If the growth strategy includes expansion into a new industry vertical or expanding your product lines, you will likely need to adapt how your application supports these new processes. Can the application be configured to meet your requirements or does it require a customization to the source code (e.g., does the ERP support both BOMs and recipes)? If a source code customization is required, will it take you off the vendor’s upgrade path? You should also validate if the application has proven partnerships with point-solutions that will meet your needs. These “add-on” systems will allow you to extend your core system while fulfilling the requirements of your new business.
- Alignment with Business Model: When preparing for growth it is important to understand if the applications are meeting the current functional needs. You can do this by understanding how pervasive offline workarounds are across your organization. Due to limitations of the application, have you slowly developed a culture of manual workarounds to manage the “exceptions” and “special cases”? While completing these workarounds may be necessary to meet your customer’s needs, they may be eroding your margins due to the labor inefficiencies they create, which will be amplified with increased volume.
- R&D / Application Roadmap: How innovative is the application’s vendor? Are they releasing new features and enhancements that continue to meet your needs and focusing R&D dollars on their new application? Review the application roadmap and make sure it includes a mobility strategy, plans for increasing your business intelligence/analytic capabilities, and features like in-application collaboration. While some of these enhancements may not appear to be key requirements for your organization today, they will be in the near future.
- End User Productivity & Performance: How quickly can tasks be performed today and how much incremental effort will be required with growth? I recommend measuring functional performance by timing or counting the number of screens required to complete repeatable tasks, such as, setting up a new customer, entering an order, creating an Engineering Change Order, or posting invoices. You can compare that data to similar applications or just do a sanity check (e.g., 5 minutes to create a new customer’s Ship To is too long). Reporting is another key area to check the performance of as access to nearly on-demand information should be common.
The last step is to apply your company’s growth projections to the answers you collected for the above criteria (without adding additional labor resources). If you break out in a sweat thinking of doubling your customer base on a system that has limited functionality, I recommend you begin evaluating more scalable alternatives.