http://qs321.pair.com?node_id=167594


in reply to Maxims for Programmers

Good programmers don't require much project management. No amount of project management will make bad programmers good.

Do you really know what project management involves? Do you think all a project manager does is use Microsoft Project to churn out fantasy gantt charts and schedule endless meetings that disrupt your real job of writing code?

I suggest the first thing for you (and all others who complain about project managers obstructing the "real work" is to read a copy of the Project Management Institute's "A Guide to the Project Management Body of Knowledge". Use Google to find the online pdf version.

Okay, do you have your copy in front of you now? Section II covers the nine project management "knowledge areas". The first stage, "Project Integration Management" covers the development of a project plan - note that a project plan is more that just a gantt chart. Some other responsibilities of the project manager are:

A good programmer knows how to best translate specifications into a working application (computer code, database structure, etc). A good analyst knows how to translate the users requirements / dreams / fancies into realistic, achieveable specifications. The project manager coordinates all of these - plus keeps management and users involved without obstructing the work of analysts, programmers and other project team members. All of these are specialised skills, and are equally critical to the success of all (non-trivial) development projects.

So, lets assume you are a good programmer, and you have been given a role as the lead programmer in a project. You still need a good project manager to perform all of the necessary project management tasks - to ensure you have specifications that are clear and realistic, to make sure that you are not distracted by non-essential changes every day or two, to make sure management and users know the project progress and status.

If you are a bad programmer, a good project manager will not make you a good programmer. A good project manager will make sure you are not a part of the project. (<monty>This is an ex-programmer. He has shuffled of this mortal coil, and joined the choir eternal.</monty>)

Replies are listed 'Best First'.
Re: Re: Maxims for Programmers
by perrin (Chancellor) on May 20, 2002 at 03:23 UTC
    It's interesting that this particular one seems to have generated the most reponse. When I wrote it, I had something pretty simple in mind. I didn't mean that projects should not be managed at all, but rather that most of the "project manager" people I've worked with are not very helpful. Nearly all of them were basically incapable of doing more than acting as glorified secretaries. They can't manage scope because they don't understand the work or the impact of changes and additions. They can't manage quality because they can only see and understand a small part of the system. (These are the people who are quick to e-mail you when an image is the wrong size, but have no idea when the entire application architecture stinks.) They can't manage risks because they don't know what's risky. They are handy for setting up meetings when the programmers and the cusotomers need to talk about these things, but that's about as far as it goes.

    There have been a few significant exceptions to this rule over the years, and my heartfelt thanks go out to those people. If only there were more.

    You brought up ideas about analysts and managers as well, but I won't get into that because I wasn't commenting on them in my statement.