As a java developer, if I want to refactor some code, I can usually just go ahead and do it. I might need to approve it with team lead or head of R&D, but generally, if it is a small refactoring task (make static methods to singelton) and the team is fine with it, I can go ahead with it.
If my code was part of API, obviously it would have better supervision, but it is not. As long as the code works fine, and the tests pass right, everything is well. PMs are never involved in this process because they do not always have the experties, interest or "jurisdiction".
This is somehow intuitive to a lot of companies.
Sometimes UX is like a refactor to the UI. We have a web application. Our application has a page where you select a value from a drop box and then click on button "execute" which opens a confirm dialog. A UX expert told me the "Confirm" dialog is bad UX and not required. Users will not select a value from the dropbox AND click execute without meaning to do it.
I talk to head of R&D, we decide to go ahead with the task. We make sure it doesn't break any API and that all tests pass and we complete the task.
If it was a big UX change, we would have notified the users (like google did with instant search), but it is not. Moreover, this is the first version! so no customers to notify. But generally, It is a UX responsibility to make sure users have a nice transition.
But the PM is angry.
Why? Why do PMs treat UX differently? It seems unfair. I mean it is obvious this is because UX is visible unlike code refactoring, but why do PMs treat it differently?
Even more so it seems to me unhealthy to the company.
Am I wrong here? Should PMs have so much control over UX? Is there no best practice for this in the UX/PM world to stop these roles from colliding all the time?