Lately I have been working on thinking about the best way to go about project planning, especially in terms of objectives and deliverables. Based on my experience at several companies and some independent research, here are my current thoughts on the subject.
Hierarchy
I'm fairly convinced that in most cases, this is an effective hierarchy to observe:
Objectives >> External Deliverables >> Internal Deliverables >> Activities
Additionally, I have seen some people classify their deliverables by type:
- Project Deliverables
- Usually deliverables to external stakeholders
- Planning Deliverables
- Management plans, scheduling and budgeting, project artifacts, etc.
- Activity Deliverables
- Status reports, meetings and reviews, etc.
Traceability
Full traceability is important to ensure that the following possible errors do not occur:
- Activities that do not support a deliverable (drop the activity or add/redefine a deliverable)
- Deliverables that do not support an objective (drop the deliverable or add/redefine an objective)
- Objectives with no supporting deliverables (drop the objective or add deliverables)
- Deliverables with no supporting activities (drop the deliverable or add activities)
Figure 1 is an example of what this might look like. First is a spreadsheet representation, and second is the same structure represented graphically. You can see there are 4 project objectives. All of the project objectives have at least one external deliverable, except PO-4. That objective apparently has no deliverable with an external stakeholder. My guess is that would be internal project management processes, such as management plans, etc.
Most of the external deliverables have an internal deliverable that supports them. PD-05 is an exception. This external deliverable requires no extra internal deliverables to support it. This may be a fairly independent external deliverable that only requires one set of activities to produce, without handing off an internal deliverable from one segment of the project to another.
Figure 1
Traceability should go down to the activity level, even if the links are in the background or tools and not displayed on artifacts like these.
Process
Here is the process in more detail:
- Define Project Objectives
- Identify External Deliverables, linking to Project Objectives
- Identify Internal Deliverables, linking to Project Objectives(required) and external deliverables(case-by-case)
- Find gaps or orphans using the links between objectives and deliverables described above
- Make any necessary changes based on gaps or orphans found
- Identify high-level Activities (groups of work packages) for each deliverable
- If activities will be required that do not trace to a deliverable, evaluate if a deliverable must be added to accommodate
- Any added objectives, deliverables, or activities must trace up and/or down the hierarchy
- After all of the objectives, deliverables, and high-level activities are well established, then it is time to start defining and estimating work packages, dependencies, resource utilization, and other scheduling concerns.