Niche Functionality: Build or Buy?
Working on ERP Strategy projects provides Lumenia consultants with fascinating insights into how business application landscapes change and evolve over time. We often work with clients who’ve gone from a relatively simple starting point to a complex clutter of systems. There can be many reasons why this might happen, but having a “let’s develop our own software” approach tends to be one of the major culprits. Why would you ever go to the trouble of developing your own software when there’s so much commercial off-the-shelf software (COTS) available?
Is there ever a good reason to develop your own business application software? The only time you should seriously consider developing your own business applications is if there’s no viable COTS solution that meets your requirements. One example of this is if there’s something about the way you operate that gives you a competitive advantage but is radically different from the norm: in a situation like this there may genuinely be nobody offering a commercial solution that meets your requirements. In my experience scenarios like this are very rare. Another example is where there’s an element of your business that’s peculiar to your industry and is genuinely unsupported by commercial solutions. I’ve seen examples of this recently in meat processing (managing animal intake and farmer payments) and in a business where the product cost estimation process was peculiar to that industry; scenarios such as these do occur, but commercial software is available to meet the vast majority of business needs.
Other Lumenia blogs discuss the choice between ERP and best of breed solutions and the associated key factors to consider, and it’s true that there are many excellent best of breed products on the market competing with and often bettering even the biggest ERP vendors. Usually, either your ERP or a best of breed solution should be able to deliver what you need.
My logic in terms of figuring out what to do would usually work something like this:
- Can an ERP system meet my requirements?
- If not, is there a best of breed system that can meet my requirements?
- If not, can I extend my ERP system to meet my requirements?
- If not, can I develop software to meet my requirements?
Clearly every situation is different, and there are usually interdependencies and other factors that need to be taken into account, but basically that’s the thought process.
Amazingly, we’ve seen examples of businesses developing all sorts of applications (even spreadsheets!) when there are genuinely lots of commercial alternatives. There are many downsides to developing your own bespoke software:
- Keeping it up-to-date in order to meet changing requirements is an on-going cost.
- Technology is always changing, so what’s current now may end up hopelessly dated or obsolete within a short time.
- Any solution (and this includes best of breed solutions) that needs to be integrated with other systems (such as ERP) will be a constant source of problems, as every time one of the systems changes the interface between the systems may need to be updated as well.
- On-going support and further development of the application often ends up in the hands of a very small number of developers, creating a business risk in itself.
- Custom software also tends to get more complex and difficult to maintain over time, as it’s often developed in a piecemeal fashion.
Lastly: the question of in-house software development. Many businesses have software development teams in their IT department, and there can occasionally be good reasons for this. But if you’re not a software development company then why reinvent the wheel when equivalent or better off-the-shelf alternatives are available? Most ERP or best of breed vendors will be happy to work with companies to develop solutions that they can commercialise, and a joint venture approach is often mutually advantageous.