in reply to
Here's my idea of good project management:
Your initial steps should be spent with both project management and the end users of the program to determine what features and functionality the program should have. Be sure to get a complete description of everything required in the program, and make sure that all people involved (programmers, management, and end users) are on the same page.
Use modular programming, separating each function of your program into a self contained module, and bring each module to functionality in the program when it's completed. Continue talking with project management and the end users to make sure the project hasn't deviated from expectations.
When the program is finished, if you kept talking with project management and end users, your program should be exactly what was expected.
I've heard that some programmers don't like talking to, or can't relate well to end users. If that is the case, hire someone to be a mediator between the two groups (a geek/common translator if you will :)
I hope this helps you find your answers, I'd like to hear what the other Monks think about this, so I can improve upon my own ideas about project management.
I'm sure Edison turned himself a lot of colors before he invented the lightbulb. - H.S.