The goal of project management is to maximize the flow of on-time, on-budget, and on-scope projects through the system.
Assumptions:
- Project quality, delivery date, budget, and scope are set appropriately elsewhere. Project managers may have influence, but I’m only considering once the projects and available resources have been decided.
- Achieving the given delivery date, budget, and scope is completely sufficient. We don’t get extra credit for coming in under time or budget, or adding scope.
- The best-guess work breakdown and dependencies have already been determined beforehand.
To successfully deliver projects, the project manager must:
- Maximize resources (don’t waste)
- Respond appropriately to the unexpected
Maximize resources (don’t waste)
Resources are wasted by:
- Idle time
- Parkinson’s Law: Overestimated effort. When the overestimation is realized, work slows down to fill the time.
- Student syndrome/procrastination: Large estimates make people feel like they have plenty of time, so they start slow.
- Resources are starved for work.
- Working on the wrong thing
- Parkinson’s Law: Overestimated effort. When the overestimation is realized, scope is added to fill the time.
- Work is started ASAP. More knowledge is gained later, making the previous work unnecessary or wrong (requiring rework).
- Effort is put towards work that is not on the critical chain. Therefore, the project lead time is not reduced.
- High work-in-progress means resources switch between projects, increasing the lead time of all projects.
- Unnecessary setup (i.e. context switching)
- High work in progress means resources often switch between projects. Time is wasted regaining previous context.
Respond appropriately to the unexpected
Necessary/beneficial for appropriate responses:
- Detecting actionable issues as soon as possible
- Filtering noise
- Understanding possible responses and results
- Predicting possible issues
FYI I’m moving towards these posts to be closer to brain-dumps than well-formed posts.