Let's assume some software consists of 6 components where A, B, C are server side components and D, E, F are client-side components (different user interfaces). The dependency graph is as follows. This also describes the data flow. Data that is generated in A is processed in B and then can directly be used in F. Before D and E can use the data it needs to be processed in addition by C.

enter image description here

Now A provides new types data that needs to be available in the client-side components D, E, F. The question now is: How to create a WBS that incorporates all the required changes so that all client-side components will show the new data.

While a WBS also, to some extend, represents the dependencies I have problems transforming this scenario into an appropriate WBS.


  1. Changes in A, B and C can be done in parallel because of well-defined interfaces
  2. On client-side, changing D has the highest priority, F the lowest.

Suggestion 1

WBS suggestion

My first suggestion incorporates the fact that A, B and C can be done in parallel and D, E, F are placed in the order of their priorities.

The downside here is that, according to the WBS, changes in F can only be done after D, and E are finished. But as can be seen in the dependency graph, changes in F can be started right after A and B have finished. So this WBS leads to the impression that developers will have to wait until D and E are finished wich isn't true. So if there is a developer that could do the job now he could start it right away.

Suggestion 2

enter image description here

In my second suggestion F is uncoupled from D and E. D and E stay in the same order due to their priorities. Changes in F can now be started as soon as A and B are finished.

However, this is not a WBS. While this sample still seams to be fairly easy, real world projects tend to be much larger. So when uncoupling such changes in that way your not just loosing the WBS but also the understanding of the resulting graph.

How can this scenario be modeled in a better way?

  • 1
    I am deeply suspicious of a WBS that mirrors the data flow. I would need to see the Work Packages and WBSD before I could answer.
    – MCW
    Feb 3, 2015 at 12:10

1 Answer 1


What you are trying to visualise is a network plan, not a WBS. A WBS does not show dependencies, only the scope or deliverables and subdeliverables that needs to be realised in order to succesfully complete the project.

A network plan places all WBS-elements in their logical sequence in order to show the growing maturity of the project deliverable. So Suggestion 2 is the correct representation of the plan or strategy on how to realise the project. I would make it go from left to right (arrows pointing to the right), or from top to bottom, to make it more clear how to proceed.But that's just personal preference.

A network plan is usually created after you have completed the WBS (or scope).

The WBS on the other hand would be very simple:

  1.0 Server Side
     1.1 Component A
     1.2 Component B
     1.3 Component C

  2.0 Client side
     2.1 Component D
     2.2 Component E
     2.3 Component F

Other elements to add might be Project management, implementation, testing ...all depending on the agreed scope.

Hope this helps. Best regards, Stephan

  • Agree that a network / logic diagram is not the same thing as a WBS. This answer has more background on Work Breakdown Structures, how to build them, and what they're for.
    – Adam Wuerl
    Feb 4, 2015 at 4:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.