Wednesday, July 25, 2007

Project Management is Bollocks!

If there's one thing I've learned in my 10+ years working in IT, it's this: Project Management is utter bollocks. It's rubbish. I'm not saying that planning is a bad idea. I thinking planning is absolutely necessary if you want to avoid disaster. But anyone who thinks they can predict exactly what will happen over the life of a project, exactly how much it will cost and how long it will take is some bizarre hybrid of a lunatic and a liar.

The most polite description I can think of for the bullshit that surrounds project management is that it's a consensual hallucination. I first came across that term in the cyberpunk's bible, William Gibson's SF novel "Neuromancer". He used the term to describe cyberspace. I don't know if he invented either term (consensual hallucination or cyberspace) but he was certainly pivotal in popularising them.

Cyberspace doesn't exist in any physical sense in the world of Neuromancer. It's a massive computer network that can be "navigated" in a way that people can conceptualise. Which allows for some cool descriptions of pseudo-physical interactions with data. For ease of understanding, everyone treats this abstract concept as a concrete reality. They have consented to believe in the hallucination because it's easier to understand that way.

Life is full of consensual hallucinations. A polite way of saying we're surrounded by bullshit. If you live in a democracy, you tend to believe you have a say in what happens in your life. There's a tendency to ignore the reality of politicians being soulless whores who are bought and paid for by vested interests. The consensual hallucination of participatory democracy is more comforting. Voting is little more than a sideshow but life's a little easier to bear if we pretend voting can actually change anything.

In fact, pretty much any political or religious belief system is a consensual hallucination. Which is not to say that they are by definition untrue. Believe in your magic friend in the sky all you like. Who needs empirical evidence when banding together with other believers makes the consensual hallucination feel true?

And don't get me started on science. I'm a big believer in science, but that's the point. I'm a believer, by and large, not a knower. At least 98% of people who believe in science can't prove or even deeply understand much of the science they support. But we put our faith in the idea that someone smarter than us got it right.

Which gets me back to project management, specifically, how it applies in the world of IT. The consensual hallucination that permeates nearly all of IT is that the magic pixie dust of project management can reveal The Truth. People who like to think they are rational individuals tend to believe that it's possible to predict ahead of time how long a project would take, how much it will cost and everything that will happen along the way.

In the broadest possible sense, this is true. If you have enough experience you can probably do better than a wild-arsed guess. We've done something similar that took about this long so we can aim to do that again. That's logical. IT people like logical. But when someone gets the project management religion, they think they can be precise. Business people like precise. But some people are completely fucking insane when it comes to this topic.

Some people believe Project Management should tell you these things down to the day and the dollar. A project plan should tell you every task that needs to be completed. A project plan should be flawless and leave nothing to chance. And a project plan should be completed before ANY work is done on the project.

OK, take a fucking pill, man. That is straight up insanity. Despite the fact this is clearly fucked-up thinking, it's a terrifyingly common mindset in management ranks. Planning, or at least goal setting, at some level is obviously important. How the hell do you know what you're doing if you don't have any targets?

But we've descended into the seventh circle of hell when we move from "let’s have a clearly defined set of project goals and a strategy for how we’ll get there" to "this is 100% accurate, it's carved in stone and will never change, if you can't deliver according to this project plan it's because you're doing something wrong."

Here's what I think are the main drivers for elevating the myth of project management to the level of holy scripture:

  • There's a whole industry of consultants scamming a living out of it. They base their entire existence on the lie that they can provide the definitive solution to project management. They aren't about to ruin a good thing by telling the truth about their fallibility.
  • There are several rainforests worth of books published on the topic. They all apparently have the definitive answer as well. How could they possibly be wrong? You know, unless publishing all those books was a money making scam.
  • Nobody likes to look stupid. If you're a professional and someone puts you on the spot to answer "how long will this take?" it's only human to want to provide an answer. Whether you call it professional pride or ego, it's a powerful driver.
  • Programming tasks are measurable in retrospect. It's easy to make the mistake of thinking this makes them easy to predict in advance. Being able to say "for a previous project we wrote this many lines of code and it took this many hours" does not mean you can accurately say "for this completely new project we will write this many lines of code and it will take this long."
  • Very few businesses are keen to hand over an open chequebook. Because a manager demands a deadline someone provides one. Just because this stupidity keeps happening over and over doesn't make it less stupid.

So how do we escape the consensual hallucination that there is a way to do project management that is absolutely foolproof and provides definitive answers? Well, I propose we kill all the consultants. Just throw the fuckers up against the wall and shoot them. OK, maybe I won't get away with that. How about we tone it down a bit. Maybe we'll just take it out on the consultants who act like they have some mystical powers that enable them to succeed where all others have failed. We could staple their tongues to their chins.

Maybe even that's going a little too far. Surely there's a solution that doesn't involve jail time? There is no silver bullet that will solve this issue (although there’s quite a good essay entitled “No Silver Bullet“) . But there are things that can be done to improve the situation.

How about we all sit down to a big three-course serving of reality? This can save many packed lunches of pain and misery. If you're on the IT side, have the courage to say "I don't know" when that's an accurate answer. And if you're on the business side, FOR GOD'S SAKE, LISTEN! Good IT workers really don't like saying "I don't know." If they say it, they probably mean it. So stop pushing for a definitive answer when one doesn't exist.

I've spent years dealing with obnoxious managers who want an answer, any answer. They make it clear that they think the lack of an answer comes from laziness or evasiveness. Worse still, managers often insist on being given an answer even when they know the answer is wrong. That isn't being hard-nosed, it's being fucking stupid.

It's perfectly reasonable to want some sort of plan up front. I'm actually one of those funny types who believe up front planning is a necessity. So long as everyone understands an estimate is just that: an estimate. You learn as you go along and discover more detail. So you revise the estimate accordingly. For this to work, everyone involved has to listen, everyone has to be open, everyone has to be responsive.

Or we could keep flailing away with the fucked up attitude that "it has to be this way" because the sacred project plan says it's this way. Because that really is a lot of fun, isn't it?

At the end of the day, it's how people respond to the unexpected that drives whether a project will succeed or fail. So what are you going to be? A jerk who worships at the altar of whatever project management methodology is flavour of the month? Or a realist who can accept that things change and all projects can be unpredictable? Your decision makes a big difference.

No comments: