And this is exactly why "agile" has become a religion more than anything — if it's not working, it's because you're doing it wrong. You just need to agile harder.
I am also a big believer in hard short deadlines when it comes to doing releases. When the deadline comes, release what you have ready and put it behind a feature toggle if needed to do a phased rollout.
That is regardless of agile or whatever development methodology you use.
If a process isn't getting you what you want then change it. Is it any wonder that repeating a broken process gets you broken results each time?
If you encounter situations where you are being micromanaged, try to place yourself in the role of the one who is micromanaging and try to see his challenges. That person is just somebody who is trying do his best. No one wants to suck the joy and energy out of his or her colleagues.