Is there a more incongruous relationship than the one that exists between developers and project managers? On one hand, you have artists who are tasked with creating something from nothing. On the other, you have a resource manager that is trying to prognosticate, with some measure of reliability, the outcome on a daily, weekly, sprint-ly basis. There is less common ground between these two people than exists in the DMZ between North and South Korea. And yet, we interoperate on a regular basis to come up with progress reports and burndown charts and other artifacts to prove that this investment was, indeed, a wise one.
Sure you have your utility programmers who's tasked only with plumbing together existing solutions but, in general, the good engineers are more akin to artists than to knowledge workers. We are talking about skills such as inspiration, design, and architecture. It's like asking to an architect to plan you an office that may be used in a home or a 170-floor building and everything in between. It will be used by 2 users or 7 million. It must be completely responsive on first use and be able to accommodate being scaled to "the cloud." All of these things require more than what a blueprint and steel can offer. As a software developer, we are asked to construct tools and artifacts that make all of this a reality.
Project management, as a discipline, developed as a response to the very basic nature of a project. A project is a ephemeral task that is, by definition, somewhere outside the range of routine business activity. As such, leadership will try to wrap their arms around the beast by employing someone known as a PM to ensure that goals are met while honoring preconceived constraints. Therein lies the problem. If you accept that software development is an art then preconceived constraints are nothing more than a guess. Traditional Project Management patterns are designed around concepts that have measurable (and linear) workflows. Software development is not one of those concepts.
Overall, we are still in a very immature industry that hasn't ironed out all the details yet but we should approach this challenge with new ideas rather than yesterday's retreads. If developers really are the basis for our future economy then we should find better ways to measure and them and their work. Until then, I offer you this bit of wisdom given to me by someone smart than myself, "You should treat Project Managers like mushrooms. Keep them in the dark and feed them lots of shit."