I completely agree with you, I have been working on code base, which was littered with sql prepared statements with the java code. But if i try to extract the statement and convert it into java callable statement, i have to get the permission of business and they start to worry whether it will break the code. Sometimes the developers get the reply it is already working, business doesn't need the developer to work on it. I can rant so much, but i think the developer need to have some freedom to refactor the code :-)
Have the business people got burnt in the past by devs trying to clean the code? Do you have automated tests in place that make sure if you refactor the code that you can show it still functions in the same way?
The best way to handle this is in the course of normal feature work when you have to touch the code, that is when you clean it. So then you can just roll the change in with normal feature work and do not need to ask for the time to clean the code.
TDD can give you the freedom to clean the code and put everyone at ease.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.