Problems & solutions · Custom Software

Utility Network GIS Problems: The 5 That Cost Real Money, and How to Avoid Them

Utility Network GIS Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in a utility network migration is scoping it as a schema conversion. The data lands in the new model, the project is declared finished, and the rack of job folders in the service centre is still three to four months deep because nothing about how work gets posted changed. Every downstream consumer inherits that lag: the outage system calls the wrong customers, the switching order references a device that moved, and planning runs load flow on last winter's connectivity. If your as-built lag is 45 to 120 days before the migration and it is the same afterwards, you spent the money on a different way of storing the same stale model.

Why does the migration get scoped as a schema conversion?

Because that is how it is presented. The platform change is real and technical, the target model is documented, and a plan that says convert the data and validate the topology reads like a complete project. It is a complete data project. It is half a migration.

The other half is the editing workflow, and it is where the money either shows up or does not. Your editors do not use raw geographic information software. They use the layer your utility built on top of it over fifteen years, which is why a new technician can place a padmount transformer correctly on their second day. Move the schema and leave that layer behind, and posting gets slower rather than faster, because the new model demands associations and terminal connectivity the old geometric network let people fudge.

The measurable target should be written into the project charter before anything is designed: the time it takes a technician to post one distribution job, and the number of days between a crew energising something and the model knowing about it. Almost nobody measures the second one deliberately, which is precisely why it drifts.

The fix is to fund the workflow layer as part of the migration rather than as a follow-on. Job and version management, assignment and ageing, a validation gate that refuses to post a version with unresolved errors on the affected feeder, and redline intake. If those are not in the plan, the migration will finish on time and change nothing anyone outside the geographic information team can feel.

What goes wrong when a geometric network has to pass validation?

Conversion is where the schedule actually goes, and the reason is that the old model tolerated things the new one will not. Devices sitting a foot off the conductor. Transformers with no bank association. Secondary that was never digitised. Structures carrying no attachment associations. Phase attributes populated three different ways because three different vendors ran three different conversion projects over two decades.

The failure pattern is predictable. A team treats conversion as a single cutover event, loads everything, gets an error report with tens of thousands of entries, and has no way to decide what to fix first or who owns it. Six months later the error count is roughly where it started because every fix was made in the converted copy rather than at the source, so the next load reintroduces it.

Run it iteratively instead: load, validate, produce an error report broken down by feeder and by error class, fix at the source, reload. Weekly, for months, with a named person accountable for the count going down and a chart that everyone can see. Assign each error class an owner, because a disconnected device is a different team's problem from a missing bank association.

And be honest about the part software cannot fix. If a third of your secondary is guessed rather than surveyed, you are buying a field verification programme, not a software project, and it should be budgeted and staffed as one.

Why do the downstream exports break after launch?

The network model has many consumers and each wants a different shape. The outage system wants connectivity, customer-to-transformer relationships and device normal states. The advanced distribution management system wants an unbalanced electrical model with impedances and phasing that will converge. Planning wants a feeder export that CYME or Synergi Electric can read. Work management wants an asset register keyed on your equipment numbers rather than internal object identifiers.

The default answer is a nightly extract per consumer, each written by whoever owned that project, each drifting silently. After the migration they drift faster, because the source schema changed underneath all of them at once. Then a phase correction posted in the geographic system appears in the outage system three days later, in the planning export next month, and in the analysis extract never. When the numbers disagree, three departments each defend their own copy and nobody can say which is right.

Build one export service with per-consumer projections from the same validated topology, a run log recording which model version produced each extract, and a nightly difference report so the outage team sees exactly what changed rather than discovering it during an event. Treat phase and device normal state as first class audited attributes, because those two fields cause more downstream argument than everything else put together. Then add the check that catches the rest: reconcile counts between the model and each consumer daily, and alert a named person when they diverge.

What happens when legacy tools are promised as a straight port?

Every migration proposal contains a sentence about carrying across existing customisations, and it is the sentence that produces the largest overrun. The tools do not port. The older interfaces are replaced by a different development model, and automatic update behaviours have no direct equivalent, so the honest replacement is attribute rules plus server-side logic with different execution and different failure behaviour.

The number nobody has is the count. Most utilities discover somewhere between 60 and 300 individual customisations when they finally inventory them, and roughly half are unused and nobody dares delete them. Paying to reimplement behaviours that stopped being used years ago is how a budget doubles without anyone deciding to spend it.

The second thing promised too easily is offline field editing. Field capture works well for inspection, redline and attribute collection, and it works poorly as a substitute for full network editing inside a version. Utilities that plan for crews editing topology directly discover the constraint late, after the field application has been designed around it.

Both fixes are the same shape. Inventory first, then triage: keep the twenty or thirty behaviours editors depend on daily, reimplement those properly, and formally retire the rest with the editors in the room. Design the field application around producing a proposed edit set that a technician validates and posts, rather than around direct topology editing. Anyone promising a full port either has not counted the customisations or intends to bill you for behaviours nobody has opened since 2016.

Should you build custom or configure what you already own?

Buy the platform. We will say that plainly even though it means less work for us. Esri ArcGIS Utility Network, GE Smallworld and Bentley OpenUtilities represent decades of network modelling and rebuilding any of them is not a rational use of capital.

If you are a cooperative under roughly 40,000 meters with a stable system and one geographic information technician, go further: buy the platform, buy a configured vertical solution on top of it, and put the remaining money into verifying what is actually in the field. A configured product plus disciplined posting will serve you, and your constraint is data accuracy rather than tooling.

Build the layer around the platform when your workflows are the thing that differs and no vendor configuration expresses them. That is true when as-built lag stays above 60 days despite staffing changes, when more than about 50 legacy customisations are genuinely in daily use, when three or more downstream systems consume the model and disagree with each other, or when several operating companies bring construction standards that will never be reconciled. In those cases the platform is necessary and not sufficient, and the gap gets filled by people retyping.

How do hidden costs get into the quote?

The customisation count is the first, because it is usually unknown at quoting time. Insist the inventory happens before the number is fixed, or agree a rate for reimplementation per surviving behaviour so the commercial risk is shared rather than discovered.

Gas alongside electric is the second, and it is regularly priced as a second layer when it is a second domain. The pressure system and its data model are their own body of work. Water and wastewater added late looks easy and is not, because the tracing semantics differ.

Then multiple operating companies with different construction standards, each of which multiplies the configuration and the testing rather than adding to it. And the honest one: how much of your model was never verified against the field. That is not a software line item, and a proposal that does not raise it has not looked at your data.

Finally, watch for conversion priced as a single pass. It is iterative by nature, and a fixed price built on one load and one validation cycle will be renegotiated in month four.

What separates a build that works from one that fails here?

Pick two feeders and one district, run the whole loop on them including a real post and a real handoff to the outage system, and only then scale. Utilities that convert everything before anyone uses anything spend a year building confidence in a system nobody has touched.

Test domain understanding early. Ask the developer to explain associations rather than connectivity, meaning containment, structural attachment, and why a transformer bank is modelled the way it is. Someone who has done this answers in ninety seconds. Someone who has not will talk about points and lines, and you will be teaching them the domain on your budget.

Ask what their build does when a technician tries to post a version with topology errors on a live feeder, and what the outage system receives that night. If the export simply runs, they have not worked with an operations group that gets paged at 2am.

Then settle ownership in writing before kickoff, covering the repository, the enterprise configuration and the right to hire anyone else, because utility geographic systems outlive vendor relationships by decades. Ask for one reference where as-built lag actually dropped, and call them.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. 76% of developers are using or planning to use AI tools in their development process in 2024 (up from 70% in 2023), with current active use rising to 62% from 44%; 81% agree increasing productivity is the biggest benefit of AI tools. Source: Stack Overflow (2024) →
  2. The median annual wage for U.S. software developers was $133,080 in May 2024, and employment is projected to grow 15% from 2024 to 2034 - a core input to any in-house build-vs-buy TCO model. Source: U.S. Bureau of Labor Statistics (2024) →
  3. In a February 2026 survey of 517 small-business employers, 82% had adopted at least one AI tool (typical firm uses five), 66% reported revenue increases linked to AI (22% reported gains exceeding 10%), and 74% said digital platforms make it easier to compete with larger firms; owners saved a median of 5 hours per week and businesses saved a median 11.5 employee-hours weekly. Source: Small Business & Entrepreneurship Council (SBE Council) (2026) →
  4. Digital Champions expect to achieve about 16% in cost savings and around 15% in revenue gains from digital operations over five years; the study surveyed 1,155 manufacturing executives across 26 countries. Source: PwC / Strategy& (2018) →
Diya M. · Mobile Engineer · Delhi

Diya works on mobile applications at Digital Heroes, implementing screens and features, wiring them to backend services and fixing the issues that only appear on real devices. Her posts give a builder's view of what goes into an app between the design handoff and the store listing.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

What number tells us whether the migration actually worked?
Days between a crew energising something and the model knowing about it, measured before and after. Most utilities sit somewhere between 45 and 120 days and almost nobody tracks it deliberately, which is why it drifts. Pair it with the time a technician takes to post one distribution job. If neither moves after the platform change, the project converted a schema and left the workflow that created the backlog untouched.
How should we run the data conversion so the error count actually falls?
Iteratively, and with fixes made at the source rather than in the converted copy. Load, validate, produce an error report broken down by feeder and by error class, assign each class an owner, fix upstream, reload, and repeat weekly for months with a visible chart. Teams that fix in the target and reload discover the next pass reintroduces everything, which is how six months of effort ends with the count roughly where it started.
Can our existing editing customisations be ported to the new platform?
Not directly. The older development interfaces are replaced, and automatic update behaviours have no equivalent, so the realistic path is reimplementation as attribute rules plus server-side logic with different execution and failure behaviour. Inventory first: most utilities find between 60 and 300 customisations and roughly half are unused. Keep the twenty or thirty editors depend on daily and formally retire the rest with those editors in the room.
Why do our outage system and planning export disagree about the same feeder?
Because each was fed by a separate nightly extract written by whoever owned that project, and they drift independently. Replace them with one export service producing per-consumer projections from the same validated topology, with a run log recording the model version behind each extract and a nightly difference report. Treat phase and device normal state as audited attributes, since those two fields cause more downstream argument than everything else combined.
Can crews edit network topology directly from the field?
Not reliably, and designing around the assumption that they can is a late and expensive discovery. Offline capture works well for inspection, redline and attribute collection. The pattern that holds up is field capture producing a proposed edit set that a technician validates and posts inside a version, which also keeps the validation gate meaningful. Design the field application around that split from the first sketch rather than retrofitting it.
Should a cooperative under 40,000 meters build a custom tooling layer?
Usually not. Buy the platform, buy a configured vertical solution on top of it, and spend the remaining budget verifying what is actually in the field, because at that size accuracy rather than tooling is the constraint. The build case starts when as-built lag stays above 60 days despite staffing, when several downstream systems disagree about the model, or when multiple operating companies bring construction standards nobody will reconcile.
How does adding gas to an electric migration change the budget?
It adds a domain rather than a layer. The pressure system, its own industry data model and its own tracing behaviour are a separate body of work with separate validation rules and separate subject matter experts. Water and wastewater added later looks simpler and is not, for the same reason. Price each domain separately and staff each with someone who has done that commodity, rather than assuming the electric team will absorb it.
What should we ask a developer to prove they have done this before?
Ask them to explain associations rather than connectivity, meaning containment, structural attachment, and why a transformer bank is modelled the way it is. Someone with experience answers in about ninety seconds. Then ask what their system does when a technician tries to post a version with topology errors on a live feeder, and what the outage system receives that night. If the export simply runs, they have not worked alongside an operations group.
How long does it take from first call to software my team can actually use?
Plan for four to six months: two to three weeks of discovery, two to four weeks of design, then a 10 to 16 week build with testing. In Digital Heroes delivery experience the schedule killer is not engineering speed but decision lag; a client who takes two weeks to approve wireframes adds two weeks to launch. Book a weekly 30-minute decision slot before kickoff and most of that risk disappears.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
How much should a small business expect to pay for custom software?
Across 2,000+ Digital Heroes projects, a small business system that replaces spreadsheets or one core workflow typically lands between $40,000 and $80,000, with more complex first versions running up to $150,000. The two levers that move the number most are integrations and user roles, not the team's hourly rate. Any quote under $15,000 for a full production system means the vendor has not understood your scope yet.
What happens if I stop paying for maintenance after launch?
Nothing breaks on day one, which is what makes it dangerous. Within 6 to 18 months, unpatched dependencies accumulate known vulnerabilities, an integrated API like Stripe ships a breaking change, and the first fix requires a developer to relearn a stale codebase at full price. Budget 15 to 20% of the build cost per year for upkeep; it is the difference between a $500 patch and a $15,000 emergency.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
If we build for 20 users now, will the software cope with 500 later?
It should, without a rewrite, if it was built on a standard cloud stack; going from 20 to 500 users is mostly a hosting configuration change costing hundreds a month, not a second project. What actually breaks under growth is sloppier work: database queries never indexed for volume and features designed assuming one office's worth of data. Before signing, ask the vendor what happens to the system at ten times today's data, and listen for a specific answer.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
We run everything on Airtable and spreadsheets. When is it time to go custom?
The switch usually makes sense when you hit one of two walls: Airtable's record caps (125,000 records per base on the Business plan) or logic the tool cannot express, like multi-step approvals with conditional pricing. There is also a simple cost signal: 25 people on Business at roughly $45 per seat per month is about $13,500 a year, forever, for a tool you are already fighting. Custom is worth it when the workflow is core to how you make money; for peripheral processes, staying on Airtable is the right call.
Does the tech stack matter, and which one should I ask for?
It matters less than agencies imply, provided it is boring. A mainstream stack, something like React or Next.js on the front end, Node.js or Python behind it, and PostgreSQL for data, means thousands of developers can maintain your system if you ever change vendors. Apply one test: ask how hard it would be to hire a replacement developer for the proposed stack, and walk away from anything built on an agency's in-house framework.
How do I work out whether custom software will pay for itself?
Do the arithmetic on hours before anything else: if the system saves three staff eight hours a week at a $35 loaded hourly cost, that is about $43,700 a year against, say, a $70,000 build plus 15 to 20% annual maintenance, a payback around two years. Add revenue effects only if you can name them specifically, like faster quotes or fewer abandoned orders, not as vague growth. In our delivery experience the businesses that see payback inside 24 months are the ones automating a process they already measure.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
Who can build a custom software system?

Digital Heroes builds custom 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 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.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?