Choosing 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 daunting task. Sometimes, it is finding best needle among stack of needles. Due to high cost of ownership, you cannot afford to get it wrong.
So, what should be our approach?
I suggest undertaking following steps:
1. Undertake Enterprise Analysis – By Enterprise Analysis, I mean analysis of 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 good guidance on Enterprise analysis. Refer to Singh’s Business Reference Modal to visualise ‘Enterprise’. If there is existing Business Architecture documentation, it can be good start for analysis.
The intent of this step is to have good understanding about overall enterprise. Secondly, to develop understanding about how new enterprise software will fit in enterprise landscape.
2. Understand Current Information Systems (IS) Architecture – Understand how existing Information systems are hanging together. Refer to existing IS architecture documentation. However, if there is no existing documentation there is no need to produce one. You just need to have clear understanding about following:
- What are different software systems used in business?
- What is purpose of each software system at a functional level?
- What is level of integration between each of the systems?
- What is the overarching systems architecture? For example SOA, n-Tier, Enterprise Service Bus etc.
- What are problems in current systems and set-up?
- What are legacy systems that needs retiring in future?
- Do business use different software for any given function? For example, if your business has acquired another business, then you may find more than one software is used to do same function.
3. Understand Business Strategy – Understand business strategy to answer following questions:
- What is short-term and long-term vision, mission of business?
- From business perspective, what is the overarching objective of new enterprise software implementation? It can be:
- Service differentiation
- Strategic investment for 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 scope of project. Now, analyse how new enterprise software can resolve identified problems. This is critical point. After having look at big picture, you may realise that there is no need to implement new software. There may be need to upgrade existing software, improve existing infrastructure, integration or training. The point I want to make is that do not assume implementing new software is answer to identified business problems.
5. Determine Needs – Develop clear understanding about 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 implementation of BPM solutions.
6. Determine Options – Best of breed integration Vs Bespoke Vs Package solution
You can procure software in variety of models. Put some serious thought on which option would work best for your business. Consider following models:
- Best of breed integration: In this model, you procure best available software for each of the core functionality and integrate with other software. For example, you may procure best of the breed Mobility management software, Workforce Planning software and integrate with existing Finance and Payroll system.
|Flexibility to choose 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 challenging process|
|Provided business has developed robust integration architecture, business can scale up and down easily.||In consistency 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 business capability to acquire new businesses or sell part of business with comparatively less efforts on software systems.|
- Bespoke: In this model, you develop complete software from scratch. You decide and manage software architecture, standards, technology, infrastructure etc.
|Flexibility to develop solution based on business needs||Can be very expensive|
|It works well for Agile development- Business can start with small project.||Several in-house capabilities are required. For example, Developers, Testers, Technical/Functional Business Analysts , Solution Architects, Network Engineers, System Administrators, Database Administrators etc.|
|Ideal for niche market/new Business model or idea||High maintenance (Documentation, Support) cost|
|In-house software can be 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)|
- Package: Enterprise software (also known as ERP, COTS) is available in integrated set of modules. Clients can buy modules 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 etc.||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 very expensive and time consuming process|
|Can have high Annual maintenance Cost (AMC)|
|Traditional model of procurement, where you have to buy software upfront, can be very expensive. 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!