Understanding the Basics of 'Scalability' for CRM Software

What is scalability?
Scalability is a software design constraint that allows software developers to plan future changes to a software product to either upscale or downscale the scope of usage of the product. In the case of any Customer Relations Management system that is targeted to be a generic yet customizable application that is being sold to many different types of businesses, scalability is a big issue.

Ensure uptime during peak hours

Four criteria to consider when evaluating a CRM product for scalability: 

1. Is your business a startup company seeking a cloud CRM software that will enhance your ability to deal with your customers and suppliers as you acquire them? Or, are you already a large business entity that has grown out of an obsolete system of Customer Relations Management and seeking a better CRM solution? Or are you somewhere in between? 

2. Is your business rate of change based on business growth, products' expansion? Is it increasing or decreasing? Adding employees or downsizing? 

3. What is the forecasted business 5, 10 and 15 year plan in relation to the initial outlay of resources allocated to Customer Relations Management? 

4. What external factors to the business should be monitored in relation to business growth or business reduction? 

Scalability must be designed into a product, the development tools used are important because each development environment is different in how it will allows changes to accommodate for greater future demand. 

Why is scalability so important?
Imagine this, your organization's call center is receiving an unexpectedly high volume of calls and the agents are winning numerous cross-selling opportunities using the Cloud CRM software's holistic customer view to identify the best product matches. Suddenly, everybody's CRM interface freezes and they are logged-out - no access to real-time customer information! Conversations are disrupted, sales dropped unwillingly and customer perceptions dashed, the culprit - scalability! The IT team informs the management later that the CRM software could not scale the volume of concurrent logged-in users during peak hours! 

Software development can become very tricky because of the need to change aspects of the software to accommodate changes in needs that did not exist at the time of the initial implementation of the software package. So, let’s take the example of the perfect program that has all of the functionality that is needed for your application (in this case Customer Service Management). 'Functionally' everything is good and your software does everything that you need it to do. 

Your business only needs 25 customer service representatives and they can all work from your main office on computers attached to your company network. What happens when your business all of a sudden has an increase in popularity over a short period of time? Say over a 2 year period the business expands and 2 new offices open in remote locations of the world and your customer service needs grow from 25 customer service representatives to 60 representatives. 

Now, the business has a situation where due to expansion, your CRM software has to change from operating from a single server/20 workstation LAN, where all users are in the same location to providing the same access to required customer service and business operations data to multiple global locations and to 6 times the users! And, because your company is so successful, this is just the first expansion of business operations. Scalability determines how easy it will be to use the same CRM software that performs all of the functions that your company needs when providing to a much larger group of users and locations. Not all software development environments lend themselves to developing software that will be able to adapt flexibly and seamlessly to expanding needs of more users, more servers and more remote locations. 

A typical business related scenario
Today's software is usually developed to run as applications that are accessible over a web link through a browser. This is much different than a stand alone program that runs off of the hard drive of the local computer. The latter has only one user and the application runs on one processor and all software functionality is performed locally between the user and the computer that they are working on. Any data is then transferred back to a centralized data storage device where it can be merged with the main data. The former being a web application that is accessed and operated through a browser URL is actually only displaying data via screens that are being served as a web page from a web server. The web server can be in a completely different location from where any given user is accessing the application because all the user needs is to have intranet access back to the main web server where the application is hosted. 

Close to 100% uptime is necessary to run your business processes smoothly and encourage user adoption for your CRM software. "Downtime" is a dirty word for employees interacting with customers, using the CRM solution to build rapport and successfully win new customers or resolve complaints - being logged-out is a major roadblock, most will switch to using their planners. An optimal CRM solution will ensure consistent uptime around the clock, seamlessly upgrading users when required without affecting performance or customer loyalty.