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.