Retiring 100+ legacy scripts

$350K saved in professional services. At least a week back on every major upgrade.

Role: Architect ยท Platform: ServiceNow

Context

Five years into the platform's life, customisation had piled up. More than 100 legacy third-party scripts sat on top of out-of-the-box behaviour, and the number kept growing.

Problem

Every upgrade became a trade-off. Either we held back new platform features, or we upgraded and things broke. The team spent a huge amount of time maintaining scripts instead of delivering, and the upgrade cycle stretched.

Decision

We priced vendor help, and the quote was high. So we did it in house: rewrite the scripts we still needed, and return everything else to out of the box.

What we built

  • Reviewed and listed every script.
  • Compared each one with out-of-the-box behaviour to find what it actually changed.
  • Made one of four calls on each: split it into a separate script, merge it with others, keep the existing change, or deprecate the custom behaviour.
  • Rewrote what stayed and retired the rest.

Result

  • $350K saved in professional services.
  • At least one week cut from the development cycle of every major upgrade.
  • A faster platform with a smaller codebase.

What I'd do differently

We underestimated how long it would take. Next time I'd plan buffers for releases already in flight and for changes landing mid-project.