Software Development is About People
One thing I am learning more and more as I do software development is that software development is not about writing code; it is about people and interacting with people. And if you practice XP, then even the programming part is about people.
The idea that software is developed by individuals sitting alone in their basements/cubicles/offices is a complete myth. I am not sure if I have ever had a day where I have been able to simply sit at my computer for an entire 8 hours and bang out code. Eventually I have to communicate with a person. Whether it is to clarify some requirement with a user or discuss a problem with another developer or solve a bug in production with a sysadmin, the point is that it involves people.
So far in my very short career since graduation from university, I think this is the single most important lesson I have learned. Negotiation skills are needed by programmers and developers every bit as much as they are needed by business people and politicians.