Public Works Software Problems: The 7 That Cost Real Money, and How to Avoid Them
The most expensive failure in public works software is a system with no event mode, so the six days a year that matter never enter it. During a declared storm the dispatcher falls back to a whiteboard and a group text, hundreds of jobs get worked and none get recorded, and when reimbursement paperwork comes due somebody reconstructs the event from photos and memory. A debris removal claim needs documented labour hours, equipment hours by equipment code, and location, per job. Work you genuinely performed and genuinely paid for becomes unrecoverable because the record was never created, and the department absorbs a cost it was entitled to claim back.
Why does the scope keep getting written around one division's work orders?
The requirements document is almost always written by the division with the loudest problem, which is usually streets. That produces a work order system shaped like street maintenance: pothole categories, a paving activity list, a crew calendar. Then sewer, fleet, parks and the sign crew are told to use it, discover it does not describe their work, and go back to the spreadsheet they were already keeping.
This happens in public works more than in most categories because the department is genuinely several businesses sharing a yard. A lift station, a sign, a fleet unit and a storm inlet are different data models with a shared crew pool, and a system built around one of them cannot absorb the others through custom fields.
The fix is to model the asset hierarchy before modelling the work. Assets carry effective dated attributes, sit in hierarchies, and belong to spatial relationships that resolve at write time, meaning a single inlet knows its basin, its ward, its snow route and the capital project that replaced it. Work then attaches to assets rather than to a category list. Get that right and adding a division is configuration. Get it wrong and every division after the first is a rewrite.
Scope the first release across at least two divisions with genuinely different asset shapes, even if only one goes live. It costs a little more in design and it is the difference between a platform and a streets tool.
What goes wrong when you migrate asset data and work order history?
The migration exposes a problem departments know about and have learned to live with: your geographic information system, or GIS, and your work order history do not agree on what things are called. Asset identifiers drift, get duplicated when a feature is re digitised, or were never stable in the first place because someone used a sequence that restarted after a schema change.
That matters because the entire value of the new system is asking what a specific asset has cost you over time. If the work order history cannot be joined to the current asset record, you have moved your data without gaining the one report your finance director has been asking for.
The other reliable surprise is the undocumented network. Every department has tie ins, valves, service laterals and abandoned segments that were never mapped, and the person who knows where they are has been there twenty years. That knowledge is not in either system, and no migration recovers it.
The approach that works is a reconciliation phase before any application code is written. Produce a match report between work order history and current features, classify the unmatched into duplicates, retired assets and genuine gaps, and decide deliberately per class. For the undocumented network, build a field discovery path from day one so what the crew learns during a repair enters the system. Departments that import wholesale end up with a faster way to query bad data.
Why do the Esri and finance integrations break after launch?
The Esri integration breaks because it is usually built one directional. The nightly job pushes attributes from GIS into the work order system, GIS is treated as authoritative, and the field is treated as a consumer. Then a crew exposes a pipe that is a different size and material from what the map says, and there is no path for that discovery to travel back except an email to an analyst with a backlog. The map stays wrong, engineering quietly re surveys before every project, and the integration is technically working the entire time.
Build it bidirectionally and treat field discovery as a first class record. Close out asks what the crew actually found, whether it matches the record, and for a photo. A mismatch creates a discrepancy record with the location fix and the note, which lands in a review queue as a proposed edit the analyst approves or rejects in bulk. Also expect a schema change mid project, because GIS teams keep working while you build, and ask any developer how they have handled one before.
The finance integration breaks on the chart of accounts. Activity codes and fund mappings change during a budget cycle, and a crew leader picking the first plausible code from an alphabetical dropdown will charge work to the wrong fund all year. Get the mapping committed in writing before development, constrain the picker to the codes valid for that asset and that project, and run a monthly reconciliation that compares what the work order system posted against what the ledger received.
What happens when storm events and records obligations are not covered?
Two gaps sit outside normal operations and both are expensive in a way that never appears as a line item.
Storm events are the first. Systems designed around a steady state queue collapse when hundreds of requests arrive in a few hours, so dispatchers abandon them and the event goes unrecorded. An event mode fixes it: one toggle changes intake, dispatch layout and close out requirements for a declared event, requests group by geographic cluster, crews receive a route rather than a ticket, and close out drops to a photo and a timestamp because during a storm you capture rather than classify. Every record silently carries the fields a claim will need. Build it before you need it, because the six days a year it matters are not days you can build on.
Records obligations are the second. Your work orders are public records, citizen contact details are inside them, and a records request will land. That shapes retention, redaction and export, and it is far cheaper as a design decision than as a scramble. The same applies to accessibility on the citizen facing portal, which is a requirement for a public body rather than a preference, and which touches every form and every status page rather than being a styling pass at the end.
Should you build custom or configure Cityworks or Cartegraph instead?
Plenty of departments should configure rather than build, and we would say so to a city manager. Cityworks and Cartegraph are genuinely good products if you are a median shaped department with one primary division, reasonably clean Esri data, and no structural oddity in how you operate. Both integrate with Esri properly and both encode a great deal of municipal maintenance workflow you would otherwise rediscover.
Stay bought in three specific situations. If your county or state has standardised on one of them, you will spend two years fighting procurement and information technology for an exception, and that fight costs more than the gap. If your asset data is genuinely bad, custom software will not clean it, it will render bad data faster and more expensively, so fix the data first and revisit. And if the real problem is that nobody uses the system you have, a new system does not solve an adoption problem, it resets the clock on it.
Build when your operation is structurally unusual: a combined utility, a shared services agreement with neighbouring townships, a snow operation that dominates your winter, or an internal fleet shop that bills other departments. Off the shelf products are built for the median department, and if you are not the median then every year of configuring around the gap is a year of paying software to make the job harder. The second signal is financial: when your licence plus the consultant you keep on retainer to maintain configurations passes roughly eighty thousand dollars a year, you are already funding a build and merely renting the result.
How do hidden costs get into a public works quote?
Offline first mobile is the single biggest multiplier and it is routinely priced as a feature. A truck in a river valley or a vault has no signal, and a sync engine that survives two crews editing the same asset offline for six hours is genuine engineering. A team that answers with last write wins will discover the problem in month five when it is expensive.
Esri integration cost scales with how clean your geodatabase is rather than with how many layers it has. No stable asset identifiers means a reconciliation phase before application work, and that phase is analyst time on your side as much as developer time on theirs.
Financial system integration is usually a knowable cost, but only once finance commits to a chart of accounts and activity mapping in writing, and that conversation takes longer than the code. Departments that start development before it is settled pay for the rework.
Then the ones nobody prices: records retention and redaction, accessibility on the citizen portal with testing rather than assertion, procurement documentation your purchasing agent can process, and training across divisions that work different hours.
What separates a public works build that works from one that fails?
The builds that work make recording the truth easier than not recording it. That is the whole discipline. When a crew leader on hour fourteen of a main break faces an eleven field close out form, the record does not get created and the asset stays wrong forever. A three question close out with a photo produces better data than a thorough form nobody completes, and it is the design decision that separates a system crews use from one they route around.
The second marker is that geography is captured automatically rather than asked for. Every work order stamps ward, council district, pavement section, sewer basin and snow route at creation by spatial join from your own layers. Nobody types it, so nobody omits it, and the council question about response times by ward becomes a saved view rather than a week of reconstruction.
Finally, get source code ownership in the contract with a repository handover clause, confirmed by your city attorney before signing rather than at go live. Many agencies sign language that quietly leaves the vendor holding the code, which means changing vendors means rebuilding. At Digital Heroes the client owns the repository and the infrastructure accounts from the first commit, and for a public body that is the baseline rather than a concession.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- Grand View Research valued the global field service management market at USD 4.43 billion in 2022 and projects it to reach USD 11.78 billion by 2030, a 13.3% CAGR, driven by growing field operations in telecom, utilities, construction and energy. Source: Grand View Research (2023) →
- ServiceTitan's KPI guide cites an average first-time fix rate near 80% (90% ideal) and describes strong technician-utilization rates as falling in the 60-80% band, with average travel time typically 30-60 minutes depending on service-area size. Source: ServiceTitan (2026) →
- Large companies globally have captured, on average, only 31% of the expected revenue lift and 25% of the expected cost savings from their digital and AI transformations - a significant gap between expected and realized value. Source: McKinsey & Company (2023) →
- In PMI's 2014 Pulse of the Profession report on requirements management, inaccurate requirements management is cited as a leading cause of project failure, with 47% of unsuccessful projects failing to meet goals due to poor requirements management. Source: Project Management Institute (PMI) (2014) →
Kai works on user experience at Digital Heroes, doing the groundwork that makes a product usable: flows, wireframes, content order and the small revisions that follow testing. Much of it is unglamorous and decides whether people finish a task. His posts explain UX in terms buyers can act on.
View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.
Frequently asked questions
Our asset identifiers do not match between GIS and our work order history. Where do we start?
What happens when two crews edit the same asset offline and both sync at the end of shift?
Can we keep Cityworks and build only the intake layer on top?
How do we get ward and basin onto every work order without asking crews to enter them?
Our preventive maintenance completion sits around half. Will new scheduling software fix it?
How do we handle voicemail and council forwards without forcing residents into a portal?
What do public records obligations require from the system?
Do we own the code, and can we change vendors later?
Does it matter which tech stack the agency wants to use?
How does custom field service software work when technicians have no cell signal?
What does it cost per year to maintain custom field service software?
What does it cost to keep custom software running after launch?
Who owns the code when an agency builds my software?
How long does it take to build a custom web or mobile app from scratch?
What are the biggest mistakes first-time software buyers make?
Who can build a custom field service management software system?
Digital Heroes builds custom field service management software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.
Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.
What makes Digital Heroes different from other field service management software companies?
Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.
Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.
How can I check Digital Heroes is legitimate before getting in touch?
Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.
Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.