"I'm implementing a user story and I see a way to improve/refactor the existing code while I am at it. Should I do that?"
"I've completed implementing a user story and want to clean up the code I've written. Should I do that?"
"I have an idea for a better way to solve this problem. Should I implement it?"
"This piece of legacy code is complex and painful. I want to rewrite it. Should I do that?"
Do any of the above questions sound familiar? I've heard them on many projects and on many teams. The questions reflect both a desire to "make things better", as well as an uncertainty as to the boundary of "what's ok to change". I wish there was a simple answer. Sometimes there is, but often there is not. How do we decide if, when and how to implement improvements?