Thursday 5 July 2007

Why I hate Gantt charts

One of my pet hates is Project Managers (PM's) living their lives in Gantt charts or spreadsheets. I've seen many projects over the years where PM's have got to the end of the project without ever seeing the actual delivered software! Incredible I know. I'm flabbergasted every time I see it and I still see it regularly. In fact, I think it's on the increase.

They usually get their progress reports from developers via MS Excel in the form of hours to complete per task or some other kind of subjective guess. They then merrily update their Gantts in complete ignorance of what's really happening and get on with writing their progress reports. It's a real coincidence that the plans nearly always look rosy in these situations ;)

On some occasions I've had to force PM's to look at the software to gauge for themselves how complete it is. Interestingly enough, what they consider complete rarely matches the developers idea of complete, which in itself introduces another key review point.

My message to PM's is, stop hiding behind project plans and get under the skin of the software to form your own judgement of progress.

My message to developers is, the only real measure of progress is tangible software that PM's can see and interact with, so make sure you're constantly in a position to demonstrate this.

3 comments:

Dan Bunea said...

Hi,

A PM in my opionion is the one steering the project. As any good navigator, he ALWAYS needs to know where he is. So my question to PMs : how do you measure where you are in a project? Well. at 30%, because the developers told me.

In many cases, the non technical background PMs can never know whether something is completed or not. Why because requirements are technical: database schema changes or infrastructure refactoring.

My advise is always to organize a project around easily measurable things, which the client or a non technical person can easily change. For a web application, this can be planned around pages. When a developer says the home page is ready, you open the browser and the functional spec, and start checking whether what's in there is implemented.

Planning around pages, allows anyone to test easily, and that means lying is really not allowed. Because some times even the most well intentioned developers can lie. If as a developer you know your PM will start screaming if you give him a negative answer, you'll just say: yes, we'll have that finished by Friday, even though you know it is not going to happen. You'd just posponing the screaming :)

And in the end, yes, there can never be a good project manager, that doesn't get his hands dirty verifiing the project.

Thanks,
Dan

Ian Carroll said...

Thanks Dan, however, I don't find that developers lie that often about progress, it's usually down to misinterpretation of what constitutes the common 95% or "I've nearly finished" syndrome that goes on for weeks....I can feel another post coming on!

Also, organising a project around easily measurable things like web pages or functionality is a key theme of Agile.

SimpleKaizen said...

Hi Ian, well said. A 100% agree. I have crossed paths with and worked together with PMs that function simply as reporters. They are not actively involved in understanding and adding value to the solution they are reporting on, this is by nature not a productive relationship and will lead to costly communication overhead and frustration. In the end why pay for a "reporting" PM when you can get someone that adds value to the solution and reports on the project at the same time. He can perform his tasks more efficiently as he is under the hood. For like minded you can find me at http://kaizen-web.blogspot.com/ keep up the good work