Problems & solutions · Custom Software

Fiber Network Planning Software Problems: The 6 That Cost Real Money, and How to Avoid Them

Fiber Network Planning Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure in this category is a system that renders the design instead of computing it. You get a good looking map, layer control, editing tools, and a design that still cannot recalculate when the take rate assumption changes, because the routes are geometry and the costs are a spreadsheet sitting beside them. Engineering is then back to two weeks and a designer for every scenario, which means alternatives never get explored and the design that gets built is the first one that closed rather than the cheapest one available. Across a build of any size that gap shows up directly in cost per passing, which is the largest number in the business case.

Why does the design get built as map rendering?

Because the map is what everyone can see. Stakeholders ask for a demo, a demo of a design is a map, and a team that wants to show progress in week three builds the map first. The routes become line features, cabinets become points, the premises become another layer, and the cost model stays where it has always been, in a spreadsheet that sums footage against unit rates.

What has happened is that the design got stored as geometry when it is fundamentally a constrained graph problem. Routes along a street network, splitter locations serving a set of premises, a loss budget along each path, cable sizing determined by the count downstream, cabinet capacity, and the physical cost of getting from A to B by each available method. Every one of those is computable. None of it is computable from line features on a map.

The tell is what happens when an input changes. If a new take rate assumption means a designer opens the drawing, the build failed at the modelling stage regardless of how good the map looks. The fix is to insist on the data model before anyone draws anything: premises as demand points, splitters and cabinets as facilities with capacity, the street and plant network as a routable graph, and the loss budget as a path constraint. Rendering comes afterwards and is the easy part. Ask a prospective developer how they would represent the design. If they start with map rendering, they have understood the visible half and missed the problem.

What goes wrong when street and premises data becomes a routable graph?

This is the schedule risk that operators consistently underestimate, and it is not engineering.

Municipal centreline data is built for cartography and addressing, not for routing. Segments do not always connect at intersections, one way and access restrictions are inconsistent or absent, private drives are sometimes present and sometimes not, and new subdivisions lag the real world by however long the county takes. A graph built naively on that data produces routes that a truck cannot drive and a crew cannot build, and the errors are invisible until someone who knows the area looks at a specific block.

Premises data has its own problems. Parcel centroids are not service addresses. Multi dwelling units appear as one parcel and represent forty units. Commercial buildings with several suites appear as one point or as several, depending on the source. If your build is funded against a defined location list, that list is authoritative for reporting and often does not agree with your parcel data, so you now need both and a reconciliation between them.

Budget data preparation as its own workstream with a named owner, not as a task inside development. The cheapest version is to clean one representative build area properly, use it to prove the graph, and then apply the same rules across the rest with exception reporting rather than trusting a bulk import.

Why do the GIS, inventory and permit integrations break after launch?

Three integrations matter and each fails in its own way.

The network records system is the first. Your design engine produces objects that need to land in 3-GIS, IQGeo or VETRO FiberMap, and those systems have their own identifiers, their own required attributes and their own idea of when an object becomes real. The break happens at as built time: the field crew changed the route, the records system was updated, and the design model was not, so the two diverge from the day construction starts and never reconverge. Decide up front which system owns each object at each lifecycle stage and build the reconciliation path in the first release, not the second.

Existing plant inventory is the second. Spare conduit, dark strands and cabinets with free ports are worth real money, and the data describing them is usually of mixed quality, especially after an acquisition. An integration that treats every record as true will design against duct that is not actually available. An integration that ignores the records designs as if the ground is empty, which is safe and expensive. The workable answer is a confidence level per record and a field verification queue for reuse assumptions above a value threshold.

Permitting is the third, and it usually is not an integration at all. Many jurisdictions accept submissions only through their own portal or by email in a specific drawing format. Do not let anyone promise automated submission. Model the deadline, the required artefacts and the status, and accept that a human presses send.

What happens when the construction handoff is not covered?

A design that cannot be handed to a crew is an academic exercise, and this is the gap where fiber programmes lose their schedule.

What construction needs is different from what an optimiser produces. Permit drawings in the format each jurisdiction accepts. A bill of materials against the part numbers your warehouse actually stocks, not generic cable descriptions. Splice schedules. Work packets scoped to a crew week with dependencies respected. Pole application data in the format the pole owner's process demands. When those are produced by exporting, reformatting and rebuilding a material list in a spreadsheet against a catalogue that has changed since last quarter, every handoff introduces errors, and the errors surface as a crew standing on a corner with the wrong cable.

The second half of this gap is as built reconciliation. Field changes are normal. What is not normal is having no path for them to return against the same objects the design produced. Without that path your records decay from day one of construction, and the next design in that area starts from data you do not trust, which sends you back to designing as if the ground is empty.

Scope the construction output layer explicitly, even if you phase it. A design engine with no buildable output is a scenario tool, which has real value, but do not let it be sold to you as a planning platform.

Should you build custom or configure what you already own?

For a lot of operators, buy or engage as a service. If you build a few thousand passings a year in one town, or your architecture is conventional, Comsof Fiber or Biarri Networks as a design engagement will beat a build on both cost and time, and the money is better spent in the ground. We would tell you that rather than quote. They do automated design well and they can be bought as software or as a service, which suits a single market campaign far better than owning an engine.

Keep your records system whatever you decide. 3-GIS, IQGeo and VETRO FiberMap are the right tools for network records and field operations, and a custom design engine should feed them rather than compete with them. A developer proposing to replace your records system alongside building a design engine is proposing two projects and calling it one.

The build case starts when two or more of these hold: you design continuously at scale rather than in one campaign, your architecture rules differ enough from the standard patterns that configuring a product means fighting it, your cost model needs to be spatial and derived from your own completed jobs, you have substantial existing plant whose reuse materially changes designs, or your output has to flow into systems you already run in formats those systems define. The tipping point is not design quality, since the commercial engines are good. It is iteration speed when the business case gets rebuilt monthly.

How do hidden costs get into the quote?

Data preparation is the largest and it is rarely a line item. Cleaning centreline and parcel data into a reliable routable graph is real work with a real duration, and it belongs in the quote with a named owner.

The number of architectures is the second. Centralised and distributed splitting with different reach conventions are two engines rather than one option with a toggle, and operators who support both in different density bands should price both. Aerial is the third: modelling make ready properly from pole attachment data is a different project from applying a per pole allowance, and the difference is usually not clarified until someone asks.

Multiple jurisdictions with different permit formats add cost linearly, since each format is its own output template and someone has to read the actual rules. And the optimisation itself grows expensive if your build areas are large, because a design covering tens of thousands of premises needs the problem decomposed sensibly rather than thrown at a solver whole.

The cost nobody quotes is the validation run. Hand the engine one completed build area where you know the real as built cost, and require it to reproduce the design and the cost within a sensible margin. That takes weeks and it is the only evidence that matters.

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

Three things.

First, the cost model is spatial. Flat unit rates per foot hide the variance that actually decides routes: rock, restoration requirements in a downtown core, a state highway crossing with its own permit and bore, a railroad crossing with its own agreement and timeline, and make ready on a heavily attached pole route. An optimiser running on uniform rates is optimising against a fiction, and it will never surface the alignment that accepts a longer route to avoid one expensive crossing. Derive the rates from your own completed jobs and vary them by surface, jurisdiction and known constraint layers.

Second, the engine is honest about optimality. A developer who has done this will talk about decomposition, clustering and solving in tractable pieces with sensible boundaries, and will say plainly that a globally optimal answer across a city is not the goal. Anyone promising optimality at that scale has not run one.

Third, ownership and proof. Get the repository, the infrastructure accounts and the data in writing before kickoff. Then validate against a build you have already paid for. If the engine cannot match a design you know the true cost of, nobody will trust it on the next one, and an untrusted engine is the same as no engine with a licence fee attached.

Research & sources

The evidence behind this guide

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

  1. Across 1,471 IT projects the average cost overrun was 27%, but one in six projects was a 'black swan' with an average cost overrun of 200% and a schedule overrun of nearly 70%. Source: Harvard Business Review (Bent Flyvbjerg & Alexander Budzier, University of Oxford) (2011) →
  2. 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) →
  3. IBM frames first-time fix rate as a core field service KPI, noting the industry average sits around 80% (roughly one in five jobs needs a return visit). Correction: IBM cites best-in-class providers at 89-98%, not '85%+'. Source: IBM (2024) →
  4. The average number of formal learning hours used per employee fell to 13.7 in 2024, down from 17.4 in 2023, a decline the report attributes partly to a shift toward informal and on-the-job learning not captured in the formal-hours metric. Source: Association for Talent Development (ATD) (2025) →
Vivaan G. · Senior Backend Engineer · Node · Delhi

Vivaan writes backend services in Node at Digital Heroes: APIs, integrations, queues and the data layer under client applications. He covers the parts of a build that never appear in a demo but decide whether the system holds together once real users and real volume arrive.

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

FAQ

Frequently asked questions

How do we tell whether a proposed system computes the design or just draws it?
Ask what happens when the take rate assumption changes. If the answer involves a designer opening a drawing, it is a rendering tool. Then ask them to describe the data model. You want premises as demand points, splitters and cabinets as facilities with capacity, the street and plant network as a routable graph, and the loss budget as a path constraint. A team that starts the conversation with map layers has understood the visible half of the problem.
How bad is municipal centreline data really, and what does cleaning it involve?
Bad enough to break routing, because it was built for cartography and addressing rather than for traversal. Segments often fail to connect at intersections, access restrictions are inconsistent or missing, private drives appear unpredictably, and new subdivisions lag reality. Cleaning means topology repair, connectivity validation and local review by someone who knows the area. Do one representative build area properly, prove the graph on it, then apply the same rules elsewhere with exception reporting.
Should the design engine trust our existing conduit and strand records?
Not uniformly. Records after an acquisition are usually of mixed quality, and both naive answers cost money: trusting everything designs against duct that is not available, ignoring everything designs as if the ground is empty. Attach a confidence level to each record, let the optimiser prefer reuse at a reuse cost rather than a build cost, and generate a field verification queue for any reuse assumption above a value threshold. That queue directs survey effort where the money is.
Can permit submission be automated?
Generally no, and be wary of anyone who promises it. Many jurisdictions accept submissions only through their own portal or by email in a specific drawing format, and some require a wet signature or a licensed stamp. What software should do is model the required artefacts, the lead time and the status, produce the drawing in the accepted format, and track the deadline. A human presses send. That is not a limitation, it is how the process works.
What construction outputs should the first release actually produce?
At minimum a bill of materials against the part numbers your warehouse stocks rather than generic cable descriptions, splice schedules derived from the connectivity model, and work packets scoped to a crew week with dependencies respected. Permit drawings and pole applications are per jurisdiction and per pole owner, so scope them to the ones covering most of your book first. Generating these from the model rather than transcribing them is what removes the handoff errors.
Why do our records diverge from the design as soon as construction starts?
Because field changes have somewhere to go in the records system and nowhere to go in the design model, so the two split on the first route change and never reconverge. Decide up front which system owns each object at each lifecycle stage, and build the as built path back against the same objects the design produced. Without it the next design in that area starts from data nobody trusts, which pushes you back to designing as if the ground is empty.
How do we prove a design engine before we commit to it?
Hand it one completed build area where you know the real as built cost, and require it to reproduce the design and the cost within a margin you set in advance. Do this with a product vendor and with a prospective developer alike. It takes weeks and it is the only evidence worth having, because an engine that cannot match a build you have already paid for will never be trusted on the next one, and an untrusted engine is a licence fee with no decisions attached.
We build in one town at modest volume. Should we build anything?
No, and we would say so plainly. At a few thousand passings a year a design engagement with Comsof or Biarri will beat a build on cost and time, and the capital is better spent in the ground. The case for building starts when design becomes continuous, when the business case is rebuilt regularly against changing assumptions and funding rules, or when local cost variation and existing plant are significant enough that generic models produce designs you would not build.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
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.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
Should I ask for a fixed price or pay the agency hourly?
Fixed price for the first version, hourly or retainer for what comes after launch. A fixed-scope, fixed-price V1 puts the estimation risk on the agency, which is exactly where you want it while trust is unproven; hourly billing on an unscoped greenfield build is a blank check. After launch, flip it, because maintenance and small features arrive unpredictably and fixed-pricing every ticket wastes everyone's time.
How many people should be working on my software project?
Three to five for a typical focused build: a project lead, one or two engineers, a designer, and part-time QA, which is the standard shape across 2,000+ Digital Heroes projects. Larger platforms justify 6 to 10, but a ten-person team on a small first version usually signals bill padding rather than horsepower. What predicts success is whether a senior engineer is writing your code daily, not the headcount on the proposal.
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?