How To Choose Between Bespoke, Best of Breed or Package software?

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:

Preliminary 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
    • Regulatory

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 needsManage multiple software vendors and consultants
Comparatively easy to retire/change any software in ecosystemOverhead of complex integration
No single point of failure due to reliance on one vendorSoftware 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 softwareConsider 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 needsCan 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 ideaHigh maintenance (Documentation, Support) cost
In-house software can be a market differentiatorHigh 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 timeIf 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.

In Summary

I hope you find this information helpful. Please share your experience and stories. I would love to hear from you!


  1. Hi, Sam,

    I work for a small chemical manufacturing company. Our enterprise software is cobbled together based on “What is the best that we can afford?” Everyone uses Microsoft Office, but beyond that, the scientists need different software from the office staff (and I mean radically different). Plus, every scientific instrument that we buy that has any type of data output has its own proprietary format for native files. What we as scientists look for is “Can I convert this output to something that can be read by Word or Excel?” The office staff has similar issues and ask similar questions, but the software they need is financial, project tracking, shipping, etc.

    Liked by 1 person

    1. Hi Robert,

      Thanks for sharing!

      In terms of affordability, I think; it is always good to look for SaaS (Software as a Service) options. If we search with right keywords, there are high chances that Google will return some good options. SaaS is subscription based low investment option to traditional high cost licensing models. Due to popularity and acceptance for SaaS, a lot of software vendors which were traditionally on license based models are transitioning to SaaS model.

      I understand problems of incompatibility, that you have indicated above:

      I think, there are couple of options you can try:

      1. It is good to check if newer versions of scientific equipment come with standard output (like .csv etc) , which can be imported to MS Excel. There are strong chances that many other companies (like yours) may already be facing similar problems. So, scientific equipment vendors may already have some solutions for you.
      2. If option 1 does not go too far then, some good Developer can write a ‘Middleware’ which can help you export information from scientific equipment. Of course, someone has to look at feasibility of doing that.
      3. It may be good to network with similar company like yours and find out how they are dealing with these problems.

      I hope that helps. Please let me know if I can assist further.

      Liked by 1 person

Share your thoughts

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s