In this article I shall define first ‘cloud based software’ and then ‘ERP software’. These definitions will help an organisation when seeking a cloud based ERP solution to consider carefully what they should expect from such a solution and whether the offerings being proposed really meet their expectations.
What is cloud based software?
We have identified five key characteristics of cloud based software.
1. Runs in a ‘cloud computing’ environment.
Cloud computing offers an environment in which an application is not restricted to a single piece of hardware. Instead the application can scale on demand to utilise an optimum amount of memory, processor power, disk space and bandwidth. As you can imagine such an environment provides a much improved level of protection against issues caused by a failure in a single piece of hardware or network connection.
Cloud computing is therefore not the same as the ‘bureau’ type services offered by many service providers where they will house a given amount of computing capacity for a client, servicing it so that if it fails it can be recovered.
This is particularly important for cloud based ERP software because such software runs all or most of the key functions of a business, for many businesses if their ERP system is not available the business stops: orders cannot be taken, invoices can’t be raised, the factory doesn’t know what to make etc etc.
2. Can be accessed via an Internet browser
Any software solution that requires client software, usually running on a PC or Mac, cannot meet this criteria. Cloud based software should be accessible from any device that can access the web via an Internet browser. Preferably there should be no limitation on which browser can access the software, although that condition is not mandatory.
One of the restrictions with software that requires client software is that access is is inevitably limited to devices that have the correct version of client software on them. Another issue is that any updates to the server based software may well require that the client software is updated at the same time. If client software needs updating this may mean that the operating system and any other environmental software (including browser perhaps) may have to be updated in order for the client software to be installed successfully.
Cloud based software should overcome these needs to maintain specific software on a range of user devices by not requiring client software to run on them but rather allowing access from any Internet browser.
For many organizations these feature of cloud based ERP is key because it enables personnel to access their system wherever they are, it also reduces the need for specific devices with particular software (a cost that’s hard to quantify or control) and enables them to allow their customers,
suppliers or partners access to relevant parts of their ERP system.
3. Software is automatically updated to latest version
Another characteristic of cloud based software is that all clients should be using the same underlying code. In order to meet this characteristic the software must, if it is to allow customisation, have a well-designed customisation system to enable clients to add or adjust aspects of the system to their needs whilst ensuring they can still access the latest software.
In other words it must not be possible for clients or software houses to change the underlying code – any customisation must be controlled in such a way that they can be carried forward with latest versions of the software without compromising existing features or functionality.
This characteristic is crucial for cloud based ERP software for a number of reasons. Firstly there are good reasons why the software will be customised: to meet the needs of a particular country, vertical market or client. Secondly ERP is such a wide ranging software system that any package is bound to need to be updated regularly to meet changing or additional market demands.
4. Reliable message queuing
Message queuing allows software to integrate with other systems and for tasks to be scheduled. Reliable message queuing is a characteristic of true, good quality cloud based software ERP system. It requires firstly sophisticated software especially to handle errors or problems that occur it the middle of an integration or scheduled tasks to be able to roll back or restart the task with integrity.
Secondly a cloud based software solution can be monitored by experienced personnel to resolve any issues that arise very quickly, thereby minimising their impact. An on premise system has the problem that if for example an overnight task fails, there is unlikely to be personnel available to correct the processes. A ‘bureau’ type solution has the issue that the local staff are unlikely to be sufficiently aware of the technical details of each client’s system as each client is likely to have their own version of the customised software – see above.
This issue is very important for cloud based ERP software because ERP systems will run a number of scheduled tasks, some of which users may not be aware of, and will often be integrated to other systems. Therefore reliable message queuing is essential for ERP software solutions.
5. Maintain highest levels of security
Any software solution needs appropriate levels of security to ensure that sensitive data is protected but a cloud based software solution available to many clients requires extra protection. The nature of such software solutions means that it is probable they will offer much higher security than an on premise or customer specific ‘bureau’ because the cloud based solution provider is responsible for the total environment and can afford to use the best security facilities available and employ security experts.
Security is particularly important in cloud based ERP solutions because clients are holding so much of their information on such systems, sensitive data about their finances, inventory, customers and personnel.
What is an ERP software package?
There are a number of software offerings in the market that are called ERP. These range significantly in functionality and design. Some offerings are not really packaged software, but better described as ‘reusable modules’ in that each client runs with code that is importantly different from other clients.
Any offering that is termed ERP must have a wide range of functions and I would argue should share a common database and ‘look and feel’.
Wide range of functions
Any ERP software package must include as a minimum accounting, sales and purchase order processing and inventory management. Most clients also expect and need, sales and marketing management modules including CRM.
Many clients want to link their web with their traditional ERP functions so that for example new products or services can be added to the web seamlessly, current inventory levels or customer status details are known to the web.
Manufacturers or businesses that assemble products require at least some of the following functions: MRP, work orders, production engineering, shop floor control, manufacturing cost control.
Service organisations (or those that sell services as parts of their overall business want to include at least a support function and possibly project management and time management modules. More sophisticated professional service businesses are looking for a complete service resource planning capability.
Common database and ‘look and feel’
Many systems marketed as ERP software packages are actually a number of disparate modules that have been linked in some way. Often the CRM and sales and marketing functions will have been developed by a different organisation from the accounting and order processing functions.
This may have an advantage in combining multiple ‘best of breed’ packages and in reducing the development time for the package as a whole but has distinct disadvantages.
One major disadvantage is that data, for example customer data, will be held in more than way and can potentially be updated by more than one disconnected process. It is therefore necessary to regularly check that each database is consistent and, when differences are found to make decisions about which data is correct. This may sound straightforward but it can be a time-consuming process.
Another disadvantage is that gaining a full view of for example the current customer or supplier position may be difficult and require a software programme to run which combines data from different systems. This means that the view is always potentially out of date.
Having a different ‘look and feel’ across the package has the disadvantage that staff who need to access more than one module have to learn and remember more than one interface. This will result in a longer learning curve and may result in more input errors.