So far from what Ive experienced, project management is all about making plans, updating them and meetings, and some more meetings. I'm not really sure at the moment if I want to continue this path fo project management or stay towards more on the architecture side.
I'm currently leading an internal project, so there is no requirement for costing or client meetings etc. I can classify project management practices for software in two major categories
- Plan Driven Management
- Agile Development Methods
Plan Driven Management:
Plan driven management is the classic form of project management, in which you have one project manager who usually creates an upper level plan within the first 1-2 weeks of the start of the project, allocates resources and maintains the cost of the project.
The project manager is responsible for defining timeliness of the project from top to bottom to the very detailed pieces required
Agile Development Methods:
There are a number of methodologies available for agile development, Agile methodologies welcome change and focus more on the people and team effort rather than processes or plan management
I am most familiar with the SCRUM, Ive take two presentations on it, one during my MS and one during the PDC
In Agile development methodologies there is no single person responsible for complete planning, usually the complete plan is broken down into iterations and the team itself is responsible for further deciding who will do which task in order to complete the iteration.
Agile management requires that the initial level plan only define the upper level requirements, the detailed planning is done just in time. All agile methods focus on customer satisfaction, there also exists an agile manifesto, which consists of the underlying principles for all agile methods
more information can be found in these links:
Traditional Plan Driven Project Management
Agile Project Management
Agile Software Development