Software is all about delivering something useful to a customer. That’s it – nothing else. Politics is about acquisition of power. Nothing else matters. Now mix the two together. How often have you heard a developer say something like “It’s not my problem, it’s just politics”? That poor developer doesn’t stand a chance. Imagine trying to deliver software while there is a raging power battle going on. I don’t think software delivery stands any chance of success in that battle. In fact, software delivery just becomes a tool for the politicians.
When someone is plotting for power, nothing else matters, not in the least software delivery. I’ve been there and done that. It’s just messy, soul destroying stuff. These days, I look for the power battle and try to focus on software by raising the delivery stakes to higher than the power battle. If I can’t do that, then the software was never the focus in the first place. Then I recommend pulling the plug. Regardless, that’s my cue to leave. Not because I am a coward, lacking courage, but for the simple fact that those power grabs are completely meaningless, except for the power-hungry.
As long as there is a political game being played, you simply won’t deliver software on time, on budget and keep customers happy. BTW you can just forget about collaboration too. That space will always be filled with contempt.
Let me put it another way: Any attempt at being agile in a political environment will always lead to failure. While you are trying to learn, others are trying to gain power. It doesn’t work!