# Custom software vs. off-the-shelf programs: how to choose

> The real pros and cons of commissioning custom software versus adapting an off-the-shelf program, without the usual sales pitch.

- Published on: 2026-09-24
- Author: Carlos Collado (https://carloscollado.tech/en/)
- Canonical: https://carloscollado.tech/en/blog/custom-software-vs-off-the-shelf/
- Language: en

This is probably the question I'm asked most, phrased in a thousand different ways: "do I buy a program or build
something custom?". And I'll be honest with you from the first line, even though it isn't what suits me best as a
developer who makes a living building custom software: the right answer, many times, is "buy the program". There
is no single answer that works for everyone — it depends, above all, on how closely your process resembles that of
a "typical" company, and on how uncomfortable you're willing to be if it doesn't resemble it that much.

## When an off-the-shelf program is enough

If your process is reasonably standard — basic invoicing, a simple CRM, accounting without too many
peculiarities — a well-chosen off-the-shelf program is usually cheaper and, above all, faster to get running. You
install it, configure it for a couple of weeks and it's working. That has enormous value that is sometimes
underestimated: starting to work now, instead of waiting months for something to be built.

The key is not to force it. I've seen companies buy a program that "almost" fits and spend the next three years
twisting the way they work so that it fits into the four screens the program allows. If you have to adapt the way
you work to the program instead of the other way round, the initial saving can turn into daily friction for years
— and that friction, multiplied by everyone who suffers it every day, ends up costing far more than the price
difference that seemed to be saved at the start.

## When custom software pays off

On the other side, there are fairly clear signs that an off-the-shelf program no longer works for you, however
good the program is:

- Your process has real peculiarities that no generic program covers well, and you've been trying for a while to
  simulate them with parallel spreadsheets, notes or manual steps outside the program.
- You already use two, three or four tools that don't talk to each other, and someone on your team spends part of
  their week just moving data from one to another by hand, with the risk of error that brings.
- The cost of per-user, per-month licences grows with the size of the team in a way that, beyond a certain number
  of people, makes no economic sense.
- You need the tool to be used by non-technical people — end customers, salespeople on the road, technicians in
  the field — with a genuinely simple experience, which is exactly what off-the-shelf programs almost never offer
  without a considerable extra fee, when they offer it at all.

When I recognise several of these signs in a conversation, that's when I start thinking seriously about custom
software. But even then, it doesn't always mean "build everything from scratch".

## A middle ground almost nobody suggests at first: automate without replacing

This is the part I most like to explain, because it tends to be a surprise. Sometimes you don't even need to choose
between the two options in a radical way. You can keep the off-the-shelf program you already use — the one people
already know, with years of data in it — and build around it a small, very specific piece that connects systems or
automates just the part that hurts most. Without migrating everything at once, without throwing away what already
works, and without taking on the cost or risk of a large project that would also force the whole team to be
retrained.

I mention this middle option less often than I should in early conversations, so I'll state it explicitly here: it
is almost always the cheapest, fastest to launch and least risky option. It isn't the flashiest, nor the one that
generates the most revenue for whoever builds it, but it is what really suits many cases, and I'd rather tell you
even if it means less work for me.

If you have doubts about what fits your case best, [let's talk](/en/#contacto) and I'll give you an honest opinion —
even if the answer is "you don't need anything custom yet, and if someone tells you otherwise, be a little
suspicious".
