Choosing the right enterprise software can be quite challenging task. There can be numerous requirements, constraints of time, budget, quality and stakeholders expectations. Among this, choosing software that tick most boxes can be a daunting task. Sometimes, it is finding the best needle among a stack of needles. Due to the high cost of ownership, you cannot afford to get it wrong.
So, what should be our approach?
I suggest undertaking the following steps:
1. Undertake Enterprise Analysis – By Enterprise Analysis, I mean an analysis of the complete business. Typically, it includes (but not limited to) understanding business model, regulators, value-chains, suppliers, clients, stakeholders, geographic locations and so on. IIBA BABOK provides excellent guidance on Enterprise analysis. Refer to Singh’s Business Reference Modal to visualise ‘Enterprise’. If there is existing Business Architecture documentation, it can be a good start for analysis.
2. Understand Current Information Systems (IS) Architecture – Understand how the present Information systems are hanging together. Refer to current IS architecture documentation. However, if there is no existing documentation, there is no need to produce one. You just need to have a clear understanding of the following:
- What are different software systems used in business?
- What is the purpose of each software system at a functional level?
- What is the level of integration between each of the systems?
- What is the overarching systems architecture? For example, SOA, n-Tier, Enterprise Service Bus
- What are problems in current systems and set-up?
- What are legacy systems that need retiring in future?
- Do business use different software for any given function? For example, if your business has acquired another company, then you may find more than one software is used to do the same task.
3. Understand Business Strategy – Understand business strategy to answer the following questions:
- What is short-term and long-term vision, mission of the business?
- From a business perspective, what is the overarching objective of new enterprise software implementation? It can be:
- Service differentiation
- Strategic investment for a new business model
- Develop new capability
- Expand Business by Acquisition
- Sell business/part of business
- Improve Margin
Refer to existing Business case documentation, if it already exists.
4. Identify Business Problem – Above three steps will help to identify existing problems and gaps in business. Document problems that are in the scope of the project. Now, analyse how new enterprise software can resolve issues identified. It is a critical point. After having a look at the big picture, you may realise that there is no need to implement new software. There may be a need to upgrade existing software, improve existing infrastructure, integration or training. The point I want to make is that we do not assume implementing new software is the answer to identified business problems.
5. Determine Needs – Develop a clear understanding of business need. Do business need specialised vertical software like Finance, CRM, and Inventory management? Or, some sort of ERP? How software will cater for current and future needs.
Note: If legacy systems are working fine, but business wants to have a new and robust Business Process Management System (BPMS), and then consider the implementation of BPM solutions.
6. Determine Options – Best of breed integration Vs Bespoke Vs Package solution
You can procure software in a variety of models. Put some serious thought on which option would work best for your business.
Consider the following models:
Best of breed integration
In this model, you procure the best available software for each of the core functionality and integrate with other software. For example, you may purchase the best of the breed Mobility management software, Workforce Planning software and integrate with existing Finance and Payroll system.
|Flexibility to choose the best software (vertical) that suit business needs||Manage multiple software vendors and consultants|
|Comparatively easy to retire/change any software in ecosystem||Overhead of complex integration|
|No single point of failure due to reliance on one vendor||Software upgrades can be a challenging process|
|Provided business has developed robust integration architecture; business can scale up and down quickly.||Inconsistency of user-experience due to multiple software in use|
|Enhance business agility. Business can easily add new services and required software||Consider Annual Maintenance Cost (AMC) from multiple software vendors|
|It increases the business capability to acquire new companies or sell part of the business with comparatively less efforts on software systems.|
In this model, you develop complete software from scratch. You decide and manage software architecture, standards, technology, infrastructure.
|Flexibility to develop solution based on business needs||Can be very expensive|
|It works well for Agile development- Business can start with a small project.||Several in-house capabilities are required. For example, Developers, Testers, Technical/Functional Business Analysts, Solution Architects, Network Engineers, System Administrators, Database Administrators.|
|Ideal for niche market/new Business model or idea||High maintenance (Documentation, Support) cost|
|In-house software can be a market differentiator||High level of governance is required for solution design and changes|
|Intellectual Property (IP) developed over time can be capitalised|
|Ideal if you are a bright Developer with a brilliant business idea (Google, Facebook, WhatsApp)|
Enterprise software (also known as ERP, COTS) is available in an integrated set of modules. Clients can buy/subscribe to parts of software as per need and generally, there is no overhead of managing integrations
|Ideal if you want to automate standard business process processes like Inventory management, Workforce management, Finance, HR, Payroll.||Lack of flexibility|
|Business takes advantage of best practice and standardisation of business processes in relatively shorter implementation time||If you customise package software at data and logical level, then software updates can be a costly and time-consuming process|
|Can have high Annual Maintenance Cost (AMC)|
|Traditional model of procurement, where you have to buy software upfront, can be costly. As you have to pay high upfront payment for software licenses. Alternatives is to evaluate SaaS and PaaS options.|
Evaluate each option and decide what suits best for your business needs.
I hope you find this information helpful. Please share your experience and stories. I would love to hear from you!