A company requires many IT systems to run its business, and typically spends a few percent of its revenue on building and operating those IT systems. A typical IT system will live for a decade and sometimes much more before being replaced.
There are two strategies to deploy an IT system: software package or specific development. The choice will deeply shape the company for the life time of the system. For developers, this choice is also the most important, as it decides where they will be let the chance to apply their skills.

Software Package

A software package provides directly a solution for a business process. For instance , an accounting software will provide you directly a solution to register your transactions, create invoices and file tax return. Additionally, software packages allow you, to some extent, to adapt them to your needs, but there is always going to be a limit. Very few packaged software vendors have developed quality plug-in frameworks to allow for extension, something other industries do better: WordPress or many video-games come to mind here.

Specific Development

On the other hand, in a specific development, you develop yourself the requested business logic. This is done on top of a generic IT infrastructure that does not know anything about your business process. One such infrastructure is a database that stored safely your data.
Fortunately, there are great, stable, and open-source infrastructures for most of the basic technologies you need. In specific development, you implement directly, according to your own rules, the business logic, which is great if you have special needs or constraints.
However, you also have to implement some infrastructure common to all business systems, such as security and access control, workflows, and application page layout. And this is where low-code platforms, such as Open Lowcode can help here, by providing those common bricks ready to assemble, and all flexibility to develop what you need on top (the mortar).
How to decide?
So, you have to create a new business system, or replace an old one, and you should choose which way to go, packaged software or specific. This post suggests a method to get to a decision.

Size and cost of the topic

The first criteria to look at is the cost of developing the system. This should be seen in the context of your company IT budget, a typical few percents of your company revenue (for example, it may be 100M€ for a company with several B€ of revenue), and generally a standard ratio per industry. Systems are:
There is a natural limit to how much you can invest in new systems. You will typically be able to undertake one big project every 3 to 5 years, and several small ones per year.

Business Impact

IT systems fall in several categories depending on their business impact, and how standard the requirements are:

Insights

So, based on those two criteria, it is possible to propose a strategy, considering the following facts:

Finally, the decision matrix

So taking all this into account, decisions become quite obvious.
While your team develops specific solutions, external vendors sell software package. You will not compare the two approaches in fair conditions. Especially, the specific development solution will lack the powerful, professional, and self-interested advocates from the vendor companies. Whatever happens, they will be happy to get your money. And nobody may ever know that is would have been 3 times cheaper to go to another route. This is even before mentionning the famous “Nobody has ever been fired to choose a big famous vendor” that will be common in your teams. So, to compensate this bias, you probably want to nudge slightly the decision into the specific development direction, and be the devil’s advocate when the packaged software case will be made. At least, you should run a few hackathons and see what comes out of it.
Note: the writer of this story is the founder of Open Lowcode project, an open-source low-code platform to allow companies to develop in an efficient way specific software when required.