- Ability to create a full project plan
- Determining the critical path
- Determining which resources are appropriate for available tasks
- Planning the project execution timeline
- Creating milestones
- Tracking project status
- Determining what action is appropriate in the event of a time or budget slip
- Making sure that action is taken and that it has the desired results
- Determining the cause of a time or budget slip
- Ensuring that everyone involved in the project has what they need to move forward
- If not, removing obstacles/provide needed information
- Critical path planning gets done poorly, when it is done at all
- Poorly done critical path planning means resources aren’t added when they are needed
- Asking the team for a status only works when the team is both qualified and aware of all the tasks that need to be done
- Problems are never prevented because they are never seen until it is too late
I can’t think of an easy fix for this, though. Making sure that all software project managers had hands-on experience in software development might be a solution. That isn’t going to happen any time soon, in no small part because the skills necessary for being a good project manager are quite different than the skills necessary to be a good developer. I’d guess that most project managers would not like hands-on development, and that most developers would not like hands-on project management. Moving to a Scrum environment might be an option too, where the development team takes over the status tracking and the business stakeholders determine scope, but that makes it harder to budget resources on the enterprise level. Does anyone have experiences they'd like to share of techniques that did or did not work particularly well?
No comments:
Post a Comment