Rebuild vs Re-architect
Why greenfield replacement fails, and the narrow cases where it does not.
5 to work through
-
intermediate
Review this plan. Eighteen months to rebuild the policy engine. Feature parity is required before any traffic moves. The legacy team is frozen to bug fixes only so that no effort is wasted on code that will be thrown away. What would you remove, what would you change, and what would you leave alone?
3 min answer -
advanced
A 15-year-old system is unmaintainable. The team wants a full rewrite. What do you advise?
2 min answer -
advanced
A platform's core system cannot support a capability the business needs. The team proposes a rebuild. What must be true for rebuild to beat incremental re-architecture?
2 min answer -
advanced
An organisation running Kafka at trillions of messages per day concludes the coordination and rebalancing model no longer fits and builds a replacement. What evidence should exist before replacing a proven system rather than tuning it?
3 min answer -
advanced
YouTube's database team was running a growing fleet of MySQL instances with sharding logic spread through application code. Rather than replace MySQL or rewrite the application, they built Vitess as a routing tier between the two, open-sourcing it in 2011; it graduated in the CNCF in 2019. What did that choice buy, what did it cost, and where would copying it be a mistake?
3 min answer
2 terms in this topic
Feature Parity Trap
The expectation that a replacement system must match every behaviour of the old one before it can be adopted, which is what makes rewrites never finish.
conceptGreenfield Velocity Illusion
The early speed advantage a from-scratch rebuild shows because it is running with all the real constraints switched off, which makes its estimate sys…
Neighbouring topics
Legacy Modernization
General material on modernising existing systems.
Legacy Assessment
Understanding what a system does before deciding what to do with it.
The Six Rs
Rehost, replatform, refactor, repurchase, retire, retain — per application.
Rehosting
Lift and shift: fastest, cheapest, and capturing none of the benefits.
Replatforming
Targeted changes that capture operational wins without a rewrite.
Refactoring & Re-architecting
Changing structure incrementally while the system keeps running.
Strangler Fig
Routing capabilities to new implementations behind a facade, one at a time.
Application Decomposition
Finding seams in a monolith, starting from the data.
Database Migration
Moving engines, versions and schemas without losing data or uptime.
Data Migration Strategies
Backfill, dual-write, reconciliation and verification.
Zero-Downtime Migration
Expand, migrate, contract — and the contract phase that never happens.
Parallel Run
Shadowing the old system to discover the rules nobody documented.
Cutover Planning
Rehearsals, go/no-go criteria and a rollback that has been executed.
Legacy Integration Patterns
Anti-corruption layers, adapters and CDC against systems that cannot change.
Mainframe Modernization
Batch windows, COBOL, and the risk profile of core banking systems.
Migration Risk
Bounding blast radius, staging by cohort, and honest readiness reporting.
Modernisation Business Case
Pricing tail risk so deferred maintenance becomes fundable.
Coexistence Patterns
Running old and new together for years without corrupting either.
Decommissioning
Actually switching the old system off, and proving nothing depended on it.