Sad but true insight into organisational software development
I am not a skeptic or nay-sayer by nature, but found Politics-Oriented Software Development right on the money, especially when it comes to the politics of software development. And to top it, the article is quite well written.
Could this be the prime reason for major IT failures in government IT projects than usual suspects such as complexity, changing technologies, massive scope and poor planning?
Although I would not want this article to influence my own work habits too much, it is hard to ignore its insights, some of which are reproduced below:
On individual's Goals:
Real world companies are made up of individuals working for their own goals: career advancement, more money, or just the chance to slack off. Occasionally it may be in someone's interest to build a successful project. Usually it's more useful to sabotage it.
On disguising true intent of certain actions:
Because everyone has to pay lip service to the good of the company, deliberate sabotage has to be disguised as incidental sabotage.
On timing of certain actions:
Also remember that someone who points out a problem early is a troublemaker; someone who fixes a problem at the last minute is a hero.
On apparent conflict of motivations:
The project manager only needs it to work in the short term: he doesn't care if it's easy to maintain. However, an unmaintainable project can be a trap for a developer, who might spend years making tiny changes.
The one I liked most, and can relate to, is on the threat of getting fired:
Threats are likely to be empty in the short term, and quickly forgotten when the project is over. As part of his empire, you are contributing to his status: he doesn't want to get rid of you even if you're useless. You're only likely to be fired if the company as a whole is reducing numbers, and in that case no amount of work guarantees safety.
The article got mentioned at Slashdot and generated some interesting agreements, counter points, and additional insights.