Notes on Refactoring

When you refactor, consider these points:

If they are touching core logic, any change that is less than "very confident you will not change other logic" should be flagged, and if a refactor is needed in order to make the logic more understandable, ask for resource allocation to do the refactoring before you start on the feature.

If you are asked to deliver a feature

Give management a choice:

This ensures that management understands the risk they are taking, whichever route they decide to take.

This also shares the responsibility in case of bugs that crop up due to the change.