Modernizing ERP or other legacy products

Modernizing ERP or other legacy products used to be a repetitive undesirable task moving between different GUI platforms, but the last few years paradigm shift in technology has made this one of the most interesting tasks for full stack engineers.

Step 1 — Rearchitect it to a multitenant cloud product

You need to use the cloud economy of shared resources. It is the flexibility between using different types of services and scalability that give your product the big value. Run your own servers on cloud hardware with IaaS when it makes sense to maintain the servers yourself, use PaaS to host your programs on traditional web apps, or go SaaS when you just need a specific service to complement your product.

Let the devops enjoy the nature of a multitenant hosted solution and reduce your time to market for new features and bugfixes.

Step 2 — Connect it

You need input to your system and output to others to make sure your product stays relevant in the whole ecosystem of products. Easy to use and secure APIs for integration and IoT benefits, and message based internal communication to easily scale and make a fault resistant system.

Step 3 — Machine Learning

You don’t expect users to fill out long forms anymore. Don’t put the users through mundane tasks that the system should be better at. To do this you must capture data and learn from it. Start with making good heuristic rules and move on to ML models when the rules get too complex and the data is plentiful and matches the problems you are trying to solve.

Step 4 — Build user experience

The users wants to do their work on products that feel natural to them. Some like to use laptops, other use their phone with apps ranging from RIA to chat and voice. Some do their business tasks on their own devices and on their own systems, like Messenger or skype. Your product should perform fantastic on any UIs that feel natural for each individual user.