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>)