resources
Replacing a City's Systems While Everyone Is Still Using Them
15 Oct 2026

A mid-sized city replaced its utility billing system over a long holiday weekend. By Tuesday morning, 18,000 households had received bills with the wrong amounts, the call center's hold times passed 90 minutes, and the old system had already been switched off. The new software worked as specified. The specification had simply missed a few things the old system did that nobody had written down.
Cities can't close for renovation. Water still has to be billed, permits still have to be issued, and residents still need to get through the front door of city hall.
Why Big Cutovers Keep Going Wrong
The billing failure had a familiar cause. Somewhere in the old code was a rule, added in 1997, that gave a reduced rate to seniors in one annexed neighborhood under an agreement most current staff had never heard of. Another rule capped sewer charges during summer months for households watering lawns. Neither was in the requirements document, because the requirements were written by interviewing people, and people had forgotten.
Old public-sector systems are full of decisions like these. They're policy history stored as code. A single weekend cutover assumes you've found all of them in advance, which almost never happens with a system that's been patched for thirty years.
The Migration Phases That Hold Up
The legacy system migration phases that work for cities look slower on paper and turn out faster in practice.
Start with discovery, and treat the old system's outputs as the real specification. Pull a year of bills, permits, or payroll runs and ask the new system to reproduce them exactly. Every mismatch is a hidden rule waiting to be documented.
Then run both systems in parallel. For billing, that means the old system still sends real bills while the new one calculates them silently for two or three cycles, and someone compares the two line by line. It's expensive, requiring extra staff time and sometimes extended support contracts on the old software. It's still the cheapest insurance available.
Move by segment next: one district, one service type, or one department at a time. A problem affecting 1,200 accounts gets fixed in an afternoon. The same problem across 60,000 becomes a news story.
Finally, keep the old system available, read-only if necessary, through a full annual cycle. Seasonal rates, year-end tax reporting, and annual permit renewals only show up once a year, and finding a gap in month eleven is far easier with the old records still accessible.
Data cleanup runs underneath all of this. Expect duplicate accounts, addresses that predate a street renaming, and parcels split since the records were created.
Building Work in Buildings That Stay Open
Physical upgrades follow the same logic. Renovating a city hall floor by floor while the clerk's office keeps serving residents is a sequencing problem more than a construction one.
Temporary construction walls do much of the work. They contain dust and some of the noise, keep the public away from active work areas, and define the route residents follow to reach open counters. Reusable modular panels cost more upfront than plywood, but they go up overnight and can be moved as each phase finishes. For a renovation with four or five stages, they usually pay for themselves. Plywood still makes sense for a single short job.
The constraints are strict. Fire exits must stay clear and clearly marked at every stage, accessible routes have to remain usable for wheelchairs and strollers, and signs need to be changed every time a wall moves. A temporary corridor that dead-ends after a reconfiguration is a safety issue, not an inconvenience.
Noisy work like demolition and coring often gets pushed to nights and weekends. Overtime raises labor costs, but closing a public service counter for a week usually costs more in goodwill.
The Same Problem in Different Materials
Software and construction teams rarely talk to each other, but they're solving the same puzzle: keep the old thing running, build the new thing beside it, move people over in small groups, and give the public one clear path through the mess. Both also depend on telling residents ahead of time what will change and when.
When this work goes well, residents barely register it. Someone pays a water bill, renews a dog license at a counter behind a freshly painted partition, and goes home without knowing that half the building and most of the software had been replaced around her.






