Build the Right Microsoft Project WBS Levels

A work breakdown structure (WBS) is the hierarchy of project tasks represented by a combination of numbers or letters. A WBS code identifies a task’s unique place in the project plan. The number of levels in the WBS can vary depending on the project’s complexity. MS Project plans lack a detailed WBS and have multiple resources assigned to the same tasks. It becomes difficult to track project status at a high level since it isn’t clear which team members are working on project tasks.

Poor MS Project WBS Example

This WBS is a poor one because numerous team members are assigned to each task without a clear definition of who is working on the task. When tracking against these tasks, it becomes difficult to understand which team member contributed to the system integration task. When monitoring this level, there is always a detailed discussion around the unlisted functions contributing to the overall task. If delays occur, the project manager will have difficulty explaining why the summary task is late. In larger projects, presenting the project status becomes even more complicated if the project manager doesn’t understand the details behind the work breakdown structure. Below is an example of a poor WBS (Figure 1):

Figure 1 – Poor WBS Example

Better MS Project WBS Example

A better approach includes the additional tasks and assigns individual team members to each task as appropriate. Assigning multiple resources to the same task is acceptable as long as the project manager can accurately track the task’s progress by a team member. According to PMBOK, the work elements “should be described in terms of tangible, verifiable results to facilitate performance measurement” (PMBOK, 1996). Simply put, the WBS needs to be defined at a measurable level that specifically and clearly describes the task.

Figure 2 – Better MS Project WBS

In the improved WBS (Figure 2), the summarized project task depends on the subtasks in the project plan. Each sub-task contributes to the overall summary task. Each subtask is uniquely identified and assigned a resource. The plan detail is improved, and the project manager can quickly identify the individual tasks by resource. It also holds the team members accountable for the individual deliverables and helps identify additional dependencies.

Including the Work Breakdown Structure ID in the Gantt chart view is also helpful. To add the Work Breakdown Structure ID:

  1. Select View – Gantt Chart
  2. Select Table – Entry
  3. Click on the Task Name column or another column
  4. Select Insert – Column
  5. Select the WBS value
  6. Click Ok

By providing detailed subtasks, overall project control is improved. There is no task ambiguity, and project team members know who works on the individual tasks. By decomposing the WBS to the “right” level, the project manager can adequately track the work with sufficient control. Depending on the process steps and work involved, the “right” level may differ between three to six WBS levels. The project manager should avoid providing too much detail; however, the “right” level still depends on the project.  When the project manager applies resource leveling to the project schedule, it will be easier to level with each task assigned to a single unique resource.

Recommended articles: Resource Management Using Microsoft Project | Finding Late Tasks with Microsoft Project Custom Filters | How to Calculate Earned Value in Microsoft Project


Andrew Makar

Andrew Makar, DMIT, PMP, CSM is an IT director with delivery experience across projects, programs and portfolios in Digital Marketing, Automotive, Software and Financial Management industries. He is an enthusiastic leader who effectively translates project management theory into practical application. His area of interest and practice is in implementing Agile processes and SCRUM techniques to deliver better software to his customers. Find out more about Andrew on and please reach out and connect with Andrew on LinkedIn.

Leave a Reply

Your email address will not be published. Required fields are marked *