Skip to content

From custom build to repeatable software: how modern SMEs should think about internal systems

Why a well-built custom system should behave like a product, not a one-off project, and what that means for how SMEs commission internal software.

·9 min read

A logistics company we spoke with had commissioned a custom scheduling tool five years earlier. It worked well for about eighteen months, after which every new requirement — a new depot, a new vehicle type, a new client reporting format — required going back to the original developer, who had since moved to a different contract and was slow to respond. The tool had been built as a project with a defined end date, not as a product meant to keep evolving. That distinction is the difference between custom software that ages well and custom software that becomes its own liability.

Projects end. Products keep growing.

The mindset a business brings to commissioning custom software determines its lifespan more than the code itself does. A project mindset treats the build as a fixed scope with a delivery date, after which the relationship with the builder effectively ends. A product mindset treats the initial build as version one of something that will keep changing as the business changes — new regions, new regulations, new processes discovered through actually using the system. The second mindset costs more in an ongoing relationship, but it is the only one that produces software that is still useful in year five rather than something everyone works around because nobody wants to touch it.

This connects directly to the reasoning in [build vs buy: when custom business software makes sense](/insights/build-vs-buy-custom-business-software): custom software earns its cost when the process it supports is distinctive and still evolving. If the process is still evolving, the software supporting it needs to evolve with it — which means it needs to be built and governed like a product from day one, not delivered once and left alone.

What repeatability actually requires

  • A platform foundation that supports change without a full rebuild — new fields, new approval steps, new report views added through configuration, not rewritten code.
  • Documentation and a data model a new developer, whether internal or from a different partner, can actually understand.
  • A defined owner inside the business who understands the system well enough to specify what changes and why, rather than depending entirely on the original builder's memory.
  • A release process — even a lightweight one — so changes are tested and rolled out deliberately rather than edited live in production.

Why platform choice determines whether this is possible

A custom system built entirely from scratch — its own database schema, its own permissions logic, its own reporting layer, all written bespoke — tends to be fragile precisely because every future change touches code few people fully understand. A custom system built as configuration and targeted extension on top of a stable platform is inherently more repeatable, because the parts most likely to need to change — workflow steps, approval rules, dashboard views — are the parts designed to be changed, while the harder infrastructure underneath stays constant. This is the practical argument behind [what an AI-native business system actually means](/insights/what-ai-native-business-system-means): a mature platform foundation is what makes the distinctive parts of your process cheap to keep evolving.

Ownership matters as much as architecture

Even a well-architected system becomes brittle if nobody inside the business understands it well enough to direct its evolution. The logistics company in the opening example did not just have a rigid tool — it also had no internal owner who could specify changes clearly, which meant every request went back to the original developer as a fresh negotiation. A repeatable system needs someone on the business side who can say, precisely, what a new requirement should do and how it fits the existing workflow — not necessarily a technical person, but someone with real ownership of the process the system supports.

This is why we build systems around clear ownership from the start, whether the owner sits in operations, finance, or project delivery — a structure that shows up across [Operations OS](/solutions/operations-os), [Internal portals & approvals](/solutions/internal-portals-approvals), and [Project & workflow management](/solutions/project-workflow-management) alike: each is designed around a named business owner who can request and validate change, not just a technical administrator.

What good repeatability looks like day to day

In practice, a repeatable system means a new depot can be added to a scheduling tool without a new development cycle, a new approval threshold can be added to a purchase order workflow within a sprint rather than a quarter, and a new report view can be requested by a manager and delivered without re-litigating the entire data model. None of this happens by accident. It happens because the initial build was designed, from the first conversation, to keep growing rather than to be finished.

The right question to ask at the start

Before commissioning any custom system, the most useful question is not "what will this cost to build" but "what will it cost to keep evolving, and who will own that evolution." Businesses that ask this upfront end up with systems that compound in value every year they are used. Businesses that skip it end up, like the logistics company, with a five-year-old tool nobody dares touch — which is simply operational debt with better production values than a spreadsheet, but the same underlying problem.

Next step

Reading about the pattern is useful. Seeing it in your own process is decisive.

Discuss a system built to evolve with you