At what point do you finally demand a total rewrite?Solved

Participant
Discussion
7 months ago Aug 13, 2025

Alright everyone, I need a sanity check. 

My team just inherited a legacy codebase from a startup our company acquired last year. It is the definition of Spaghetti Code. The original devs clearly chose the fast and messy fix every single time just to push features out the door and secure their funding. We are currently drowning in technical debt. Every time we try to patch a minor bug in the billing module, three completely unrelated things break in the user dashboard. 

Management wants us to fully integrate this mess into our primary enterprise environment by Q3. 

Do I fight management and demand a total rewrite? Or do we just keep slapping duct tape on it and wasting half our sprint putting out fires? How do you guys negotiate this with business stakeholders who just want to see new features? 

Replies (2)

Marked SolutionPending Review
Participant
7 months ago Aug 14, 2025
Marked SolutionPending Review

Oh, I feel your pain, @amelia. But whatever you do, do not advocate for a total rewrite. The Big bang rewrite is a trap. Management will approve it today, but six months from now they will get impatient because zero new visible features have been shipped. Then they will just pull the plug on your team. 

Instead of starting over, you need to isolate the worst parts. Stop asking management for refactoring time because executives just hear that as developers wasting time. Tell them straight up that delivering the Q3 integration safely without crashing our core platform requires rebuilding the API gateway. Look into the Strangler fig pattern. Do not rewrite the whole app. Just build the new integration properly on the side and slowly reroute traffic to the clean code. You can strangle the old messy code one module at a time until the legacy stuff can be safely deleted. 

Marked SolutionPending Review
Participant
7 months ago Aug 16, 2025
Marked SolutionPending Review

@noah-blake is exactly right about the rewrite trap, but I will take it a step further. Technical debt is not always a bad thing. 

Think about why that code exists. If that messy duct taped startup code allowed them to launch fast and get acquired by your parent company, then it served its purpose. It bought them speed. 

The problem is you are trying to clean up the entire codebase right now. Do not do that. Only fix the code that actively causes you pain. Is there a messy legacy module that nobody ever touches and it runs fine? Leave it alone. Let it be ugly. Is there a module that your team has to manually restart and patch at 2:00 AM every Sunday? That is your real problem. Refactor that piece immediately. 

Stop trying to make the code pretty. Just make it survivable. 

Save