Agreed. But would add: as a developer my least favourite thing has been Product Managers who keep the customers exclusively to themselves. Requirements inevitably have a technical component to them, and getting the end users and developers together in a room and talking to each other directly is invaluable. It's so important that it's actually a key requirement to taking a job for me.