Problems & solutions · Field Service Management

Maintenance of Way Software Problems: The 5 That Put Defects Past Their Date, and How to Avoid Them

Maintenance OF WAY Software workflow illustration showing common problems and fixes.
The short answer

The most expensive failure in maintenance of way software is a defect register that only holds one source. The geometry car exceptions land in a vendor spreadsheet, the walking inspection findings stay in a bound book, and the ultrasonic testing report sits in an email folder, so two findings at the same location never meet and nobody sees a remediation clock running. The cost is not a software cost. It is a defect that ages past its required remedial date with no speed restriction protecting it, discovered by an auditor or, worse, by an incident investigation that reconstructs the timeline you could not produce yourself.

Why does merging every inspection source into one register go wrong so often?

Every property already collects the findings. What no property does naturally is put them in one place with one clock. A geometry run produces several hundred exceptions in a vendor file with locations to the hundredth of a mile. A walking inspection produces handwritten entries with locations given as landmarks. Rail flaw testing produces suspect rails with follow up test obligations. A train crew reports a rough spot with no location precision at all. Each of those is a legitimate finding that carries an obligation from the day it was discovered.

Projects underscope this because the register looks like a table. It is not a table, it is a reconciliation problem. The same defect described three ways by three sources must resolve to one record, or your overdue list is padded with duplicates and your team stops trusting it within a month. Different sources also disagree about location by a few hundredths of a mile, which is enough to put a defect on the wrong side of a turnout.

The fix is to make the register the first thing you build and to give it a matching rule you can tune, not a matching rule buried in code. A new finding within a defined distance of an open finding of a compatible type gets proposed as the same defect and confirmed by a human. Every source keeps its own identifier so a supervisor can trace a merged record back to the geometry run or the inspection that produced it. Build that before any reporting, because reporting on a register nobody trusts is worse than no reporting at all.

What goes wrong with linear referencing and milepost equations?

Track is addressed by milepost and offset within a track number, and everything about it is a range rather than a point. Mileposts are not arithmetic. Equations and past realignments leave gaps and overlaps in the numbering, so milepost 44.30 plus 0.25 is not reliably milepost 44.55, and a system that assumes it will silently place findings in the wrong location for the life of the property.

The second half of this problem is resegmentation. A rail relay splits a range. A curve is realigned. A class boundary moves. Every historic defect, restriction and work record anchored to the old range has to remain readable and correctly located afterwards, because an auditor asking about milepost 44.4 wants the whole history at that point regardless of how many times the segmentation changed underneath it.

Then there is the inventory itself. Many properties cannot state precisely where curves begin and end, where continuous welded rail territory starts, or where the class boundaries sit, because the authoritative answer is in a track chart that has been amended by hand. That survey is real project time and it belongs in the plan rather than in a surprise. Do the addressing model and the survey for one division first, prove the timeline view works, then extend. Rolling the model out across the whole property before it has been tested against a real audit question is how a build ends up needing its data rebuilt.

Why do geometry car and rail flaw vendor feeds break after launch?

Because the feed was treated as a file format rather than as a relationship with an outside company. A geometry vendor changes a column name, adds a severity level, alters the precision of a location field, or switches from one export tool to another, and the ingestion silently drops records or misplaces them. Nobody notices until a supervisor asks why last week's run produced fewer exceptions than usual.

Two design decisions prevent most of this. First, every ingestion run is a record in its own right, with the file it consumed, the row count in, the row count matched, and the rows rejected with reasons. If a run brings in 412 rows and matches 389, that gap is visible on a screen instead of buried. Second, location matching must tolerate disagreement between the vendor's referencing and yours, with the tolerance set per vendor from observed behaviour rather than assumed. Beyond that tolerance the record goes to a review queue rather than being placed confidently in the wrong spot.

The other half of the answer is contractual rather than technical. Name in your vendor agreements that format changes come with notice and a sample file. Ingestion built by a competent team will survive a schema change with a configuration edit. Ingestion built as a one off script will need a developer, and by the time the developer is available two runs have been lost.

What happens when the remediation clock and restriction lifecycle are not covered?

This is the part that turns a maintenance system into a compliance system, and it is the part most often deferred to phase two. The federal track safety standards do not merely require inspection. When track does not meet the standard for its class, the railroad must bring it into compliance, restrict speed, or stop operating over it, and the rail defect provisions attach specific remedial actions with time limits. The obligation begins on the day of discovery.

Software that records findings without modelling that obligation gives you a nicer looking version of the problem you already have. What the register needs is a classification that drives a required remedial action, a due date computed from the discovery timestamp, and a speed restriction that is an object with a life of its own: applied by a named person, visible to everyone who needs it, and lifted only by an authorised action that records who lifted it and on what basis. A restriction lifted by a phone call is a restriction that exists in one person's memory.

Then build the one screen that changes behaviour: due this week, due next week, overdue, and overdue but protected by a restriction. A roadmaster who opens that every morning catches the ageing defect. Nothing here substitutes for your own regulatory counsel's reading of the standards, and the classification table should be owned and signed off by the people accountable for it rather than by a developer.

Should you build custom or configure what you already own?

If you are a short line with a hundred miles, one roadmaster and one testing vendor, do not build. A disciplined mobile inspection app feeding a shared register, with a weekly review the roadmaster runs personally, is proportionate. Your risk lives in process rather than in platform, and a $200,000 system will not make a small team more attentive than a weekly meeting does.

If you already run IBM Maximo or Hexagon EAM for your wider asset estate, configuring track into it is a defensible route, and Bentley AssetWise carries the strongest native linear asset and inspection heritage of the three. Be honest about what you are taking on. None of them ships the domain object that matters most here: a defect carrying a regulatory remediation clock, tied to track class, resegmented when rail is replaced, and blocked on a dispatcher granting protection. You configure that in, and you then own the configuration indefinitely, usually with consultant support on retainer.

Build when you own more than a few hundred track miles, you take geometry and rail flaw data from outside vendors, and the remediation clock currently lives on a supervisor's spreadsheet. Keep the enterprise system for work management and materials if it is already embedded. The case for building is the defect register and the mobile capture, not a wholesale replacement of a system your finance team depends on.

How do hidden costs get into the quote?

The estimates in this category move for reasons that have nothing to do with software complexity.

  • Testing vendor count. Each vendor is a separate ingestion with its own format, precision and severity convention. Two vendors is not twice one vendor's effort, but four is not close to one either, and a proposal quoting ingestion as a single line item has not asked how many you use.
  • Bridges and structures. These carry their own inspection and reporting obligations and are effectively a second asset domain. They are routinely dropped into scope late because they were assumed to be part of track.
  • Asset inventory quality. If nobody can state where curves, continuous welded rail territory and class boundaries actually begin and end, surveying that is project time before anything else is trustworthy.
  • Offline capture. Right of way connectivity is not a given, and offline first mobile capture with queued synchronisation roughly doubles the testing burden. It is also not optional, because an app that needs signal will be worked around with a notebook.
  • Dispatch integration. Technically feasible, politically slow. Price it as a phase with a dependency on another department's approvals rather than as a sprint.

Transit properties should add third rail, catenary and station assets to that list, since they arrive with the track and their oversight regime differs from freight.

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

Four things, and you can check all of them before a contract exists.

The team can explain a milepost equation without being told what one is. If they cannot, they will build an addressing model that fails quietly on your property, which is the worst possible failure mode for a system whose whole purpose is knowing where a defect is. Follow up by asking what happens to historic defect records when a relay resegments a range, because that answer separates people who have modelled linear assets from people who have read about them.

The mobile inspection record is designed to be the regulatory artefact rather than a convenience copy of the bound book. If the paper book stays authoritative, you have bought duplicate data entry, and inspectors will treat it accordingly.

They can name geometry or rail flaw formats they have ingested in production and describe how they handled the offset between the vendor's referencing and the railroad's. Specifics here are cheap to give and impossible to fake.

And they build the location timeline early, not last. Ask them to show how an auditor would see every inspection, finding, restriction and repair at a given milepost in order with no assembly required. That view is what proves the data model is right, and it is also the view that catches an ageing defect before anyone external does. Settle code and infrastructure ownership in writing before kickoff, because records that may be examined after an incident should never sit behind a supplier's support contract.

Research & sources

The evidence behind this guide

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

  1. 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) →
  2. Comparesoft reports the field-service industry-average first-time fix rate is about 80%, best-in-class providers reach roughly 90%, scores below 70% put the business at risk, and providers exceeding 70% FTFR saw customer retention around 86%. Source: Comparesoft (2024) →
  3. 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) →
  4. An independent Forrester Total Economic Impact study of OutSystems found a 363% three-year ROI with payback in under 6 months, illustrating that faster, lower-labor build approaches can materially shift the payback math. Source: Forrester Consulting (commissioned by OutSystems) (2024) →
Devon W. · Senior Account Director · DTC · New York

Devon looks after direct to consumer accounts, where the store is the business and a bad checkout costs money the same day. He works with brands on commerce builds and site changes, and writes about what to prioritize when every request looks urgent.

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

FAQ

Frequently asked questions

Two of our vendors report the same defect at slightly different mileposts. How should the system handle that?
With a tolerance set per vendor, learned from observed behaviour rather than assumed, and a review queue for anything outside it. Inside the tolerance the system proposes a merge and a human confirms, with each source keeping its own identifier so the merged record can be traced back. Outside the tolerance it stays separate and flagged, because a few hundredths of a mile can move a defect to the wrong side of a turnout and a confident wrong location is more dangerous than an unresolved one.
What happens to old defect records when a rail relay splits a segment?
They must remain located and readable, which is why resegmentation has to be designed in from the start rather than added later. The workable model keeps historic records anchored to the geometry that existed when they were raised, with a mapping that lets a query at a milepost today return everything ever recorded at that point regardless of how many times the segmentation changed. If a developer treats segments as editable rows, your history quietly relocates every time track is renewed.
Should the mobile inspection record replace the bound book?
That is the decision that determines whether the project is worth doing. If the paper book remains authoritative you have bought a duplicate data entry system and inspectors will resent it within a fortnight. If the electronic record is the artefact, it needs offline first capture with local validation, queued synchronisation, and an audit trail showing who recorded what and when. Confirm the acceptability of the electronic record with your own regulatory counsel before you build the workflow around it.
How much of the budget goes on ingestion versus reporting?
Far more on ingestion than most properties expect. Reporting is straightforward once the register is trustworthy, and the register is only trustworthy when every source arrives normalised, deduplicated and correctly located. Each additional testing vendor is its own format, precision and severity convention, so ask any developer to price ingestion per vendor rather than as one line, and ask what happens when a vendor changes their export format without notice.
Can we keep Maximo and still build a defect register?
Yes, and for properties already running it across a wider asset estate that is usually the right shape. Maximo keeps work management, materials and the financial view; the build owns linear referencing, the merged defect register with remediation clocks, mobile capture and vendor ingestion, and hands work orders across. Replacing an embedded enterprise system is a programme your finance team will not thank you for, and it is not where the safety risk sits anyway.
What is the one screen that changes behaviour fastest?
Due this week, due next week, overdue, and overdue but protected by a restriction, for one territory, on one page. Roadmasters open it every morning and the ageing defect stops being invisible. It sounds trivial and it does not exist on most properties, because the findings arrive from different sources in different formats and nobody has merged them. Build the merge first and that screen becomes almost free.
How do speed restrictions fit into the defect record?
As objects with their own lifecycle attached to the defect, not as a text note. A restriction is applied by a named person with a timestamp, is visible to everyone who needs to see it including the mobile app, and is lifted only through an authorised action that records who lifted it and on what basis. Restrictions lifted by phone call live in one person's memory, and when that person is on leave the record shows a restriction that was removed on the ground weeks earlier.
How long before the system pays for itself?
Behaviour changes within about a month of the defect register and mobile capture going live on one division, which is well before the full platform exists. The value is not measured in labour saved, it is measured in defects that no longer age past their date and in the ability to produce a location timeline on demand instead of after a week of cross referencing. Start with one division and one testing vendor so that value arrives while the rest is still being built.
What tech stack should a custom field service platform be built on?
The dependable 2026 stack is React Native or Flutter for the technician app, React for the dispatch console, Node.js or Python on the backend, and PostgreSQL with an offline sync layer on the device. Boring, widely used technology wins here because any competent team can maintain it five years from now. Be wary of an agency proposing a stack only they can staff; that is a lock-in strategy, not an engineering decision.
Do my field technicians need a native mobile app, or will a web app work?
If your technicians ever work in weak signal, you need a native or offline-capable app, because a plain web app fails exactly where field work happens: basements, mechanical rooms, and rural routes. Cross-platform frameworks like React Native or Flutter give one codebase for iPhone and Android with full offline storage, which is how Digital Heroes builds most technician apps. A web app is the right call for the office dispatch console, where connectivity is guaranteed.
Is Housecall Pro enough for a growing HVAC or plumbing company, or do we need custom software?
Housecall Pro holds up well to roughly 10 to 20 technicians on standard residential jobs, with its Essentials plan listing around $129 per month for up to five users. The ceiling appears with commercial work: multi-visit projects, progress billing, equipment service history, and inventory are thin, which is when owners start managing the business in exported spreadsheets. Use the spreadsheet count as your signal: three or more recurring workarounds mean the tool no longer fits.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
How long does it take to build a custom field service app with scheduling, dispatch, and a technician mobile app?
Plan on 12 to 16 weeks for a working first release covering scheduling, dispatch, and a technician mobile app, and 5 to 7 months for a full platform with offline mode and accounting sync. Across 2,000+ Digital Heroes projects, field service timelines slip in two predictable places: underscoped offline behavior and integration testing against QuickBooks or the payment processor. Both belong in week one of planning, not month four.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
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.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
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.

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?