The hidden cost of treating every financial product as a greenfield build

Why financial product time to market keeps slipping, and what  causing it

There is a pattern that plays out across banks, fintechs, and any business trying to add financial products to their core offering. The sequence is familiar. A new product gets scoped, engineering gets pulled in, and months go by mapping APIs, building logic, running compliance through a review cycle. Six months later, something ships.

Then the next product starts. And the same process runs again.

Nobody questions it because it feels like the nature of the work. Financial products are complex. Of course they take time to build. But here’s the thing most teams don’t stop to examine: how much of what they built the second time around was genuinely new?

In most cases, not much.

The fee calculation logic from product one lives in a different codebase from product two, even though the underlying math is identical. The KYC flow was rebuilt because pulling it out of the first product felt riskier than starting fresh. The onboarding sequence was written again because nobody documented the first one well enough to reuse it. The compliance review covered ground that was already covered last time.

This is what the real cost looks like. Not the complexity of each individual build — that’s manageable. It’s the fact that organisations keep paying the same costs repeatedly, for logic that shouldn’t need to exist in more than one place. And every time they do, time to market takes the hit.

Why reuse is harder than it sounds

The obvious answer is: just modularise your code. Build shared libraries. Create internal APIs that your products call.

Most teams have tried it. It doesn’t hold.

Financial product logic doesn’t live in isolation. It’s tied to data models, execution environments, deployment pipelines. Pulling a piece of logic out and making it truly reusable requires more upfront investment than most teams can justify when they’re under pressure to ship. So, the shared library gets started, becomes a dependency, breaks when someone changes it, and eventually gets forked.

The deeper problem is that reuse was never designed in from the start. It gets attempted after the fact, when the codebase is already fragmented. At that point it’s restructuring, which requires dedicated time, resourcing, and a clear mandate to slow down and fix the foundation. Only a few organisations get that window.

The alternative to a shared internal library isn’t a better internal library. It’s financial logic that lives outside your codebase entirely as pre-built, versioned components where the component itself is the contract, not the code behind it. When you build from those, you’re not taking on a dependency you have to maintain. You’re referencing something that’s already been tested and versioned independently of your product. That’s a structurally different failure profile.

What the speed and compliance cost looks like in practice

When teams build every product from scratch, product velocity degrades over time in a way that isn’t obvious early on. The first product ships and the team has momentum. The second is slightly slower with more systems to integrate with and more edge cases inherited from the first. By the fifth or sixth product, the overhead of maintaining everything already built starts to dominate. Speed doesn’t improve with experience. It compounds against you.

Consistency breaks down in parallel. Fee logic written independently for two products handles edge cases differently. That’s a support problem first, a compliance problem second, and eventually a customer trust problem. The kind that doesn’t show up in a sprint review but surfaces in an audit.

And engineering becomes a bottleneck for changes that shouldn’t require engineering at all. Adjusting a limit, modifying a rule, reconfiguring a flow — these require opening a codebase because the logic is buried in it. Product and operations teams wait. Engineers spend time on requests that have nothing to do with building new things.

The variant problem — a separate compounding cost

Most product portfolios don’t just grow wider. They grow deeper.

A wallet product becomes three wallet products — one for gig workers, one for students, one for teens with parental spending controls. Same core logic underneath. Different KYC requirements, different limit structures, different fee rules, different channel configurations. Each segment has legitimate reasons for being different. So the team builds each one.

The upfront cost is the obvious problem. If the underlying logic is 80% identical across three variants, the team has still paid to build it three times. Three codebases, three test cycles, three compliance reviews covering largely the same ground.

The ongoing cost is worse, and it’s the one that doesn’t show up until the portfolio is already deep.

A regulatory change requires updating the KYC flow. Now someone has to identify every variant that uses that flow, track which ones need the change, apply it individually, test each one, and run another compliance review, per variant. A business decision to adjust fee logic has the same problem. The more variants in market, the more that routine change becomes a project.

When variants are built on a shared layer of governed components rather than independent codebases, both problems change. The initial build is a configuration exercise — the gig worker wallet and the student wallet are different parameter sets on the same foundation, not different products from scratch. And when that foundation changes, the update propagates automatically to every variant referencing it. One change, one audit trail, every variant stays consistent.

The practical implication is that variant depth stops being a reason to slow down. Serving five distinct customer segments with tailored products isn’t a commitment to five separate build and maintenance tracks. It’s one governed foundation with five configurations on top of it.

The compliance case for doing this earlier than you think

Here’s what usually gets underweighted in these conversations.

When financial logic is built independently per product, compliance is also earned independently per product. Every new build is a new audit surface. Every rule change requires a review cycle. Every edge case handled differently across two products creates a reconciliation problem later.

When that logic lives in governed, shared components, the dynamic inverts. Compliance posture is inherited from the component layer. A rule reviewed and approved once applies consistently across every product that references it, and any change to that rule carries a full audit trail automatically. You’re not re-earning the same compliance ground with each launch, you’re building on it.

For organisations with growing product portfolios and increasing regulatory scrutiny, this changes the relationship between product velocity and compliance overhead. The two stop trading off against each other the way they do when every product is a greenfield build.

The compounding effect

When you build on reusable, governed components, each subsequent product draws from a foundation that’s already been tested and approved. As a result, the fourth product genuinely is faster than the second, not just marginally so. Time to market shortens with each launch rather than stretching. The portfolio starts working in your favour rather than against you.

When you build from scratch each time, the opposite happens. Early momentum fades as the maintenance surface grows. The organisations that avoid this don’t necessarily have better engineers. They made a different architectural choice before the portfolio got complex enough to make changing it expensive.

The practical question

If you’re leading product or engineering at a company that’s two or three financial products deep and planning more: whether the pace holds, whether compliance overhead stays manageable, whether engineering stays focused on work that actually differentiates you — those are the right questions to pressure-test before the portfolio makes changing the architecture expensive.