In addition to Jan's fix, you might also want to reconsider the structure of
the tasks themselves. I'd suggest reversing the positions of the summary and
detail tasks. In a project WBS, a summary task does not represent "class"
of work, like carpentry, painting, coding, testing, etc with all the
instances of that operation in the project indented underneath it - grouping
subtasks by type. Instead they summarize a sequence of operations that will
end in a given result, a "state change" if you will, that is one of the
deliverables or components in the project. In an application that requires
a number of code modules, a summary task would be the creation of one of the
modules, with all the various activities that go into creating that specific
module represented as subtasks under it.
It appears your code development process is going through several iterations
of a loop, just like code itself does in a "do while" loop. A program loop
goes through a sequence of operations until a certain state change occurs in
the data and then exits the loop, right? Unfortunately, there is no way to
encode loop logic in a WBS - we have to estimate in advance how many
iterations of a repeating sequence will be required - the example you gave
shows three iterations are to be expected. But you can accomplish the same
thing by having each iteration represented as a summary task, the summaries
linked in success if you like, and the various elements of each individual
cycle as subtasks under the summary. I suggest you will have a far easier
time of it, both from a schedule development and resource assignment
standpoint and a later management standpoint is you restructure the logic as
follows:
1 Start
2 Code Create
3 Code Evaluate
3.a Cycle 1
3.a.1 Code Review
3.a.2 Code Modification
3.b Cycle 2
3.b.1 Code Review
3.b.2 Code Modification
3.c Cycle 3
3.c.1 Code Review
3.c.2 Code Modification
4 Code Accepted
5 Finish
Notice that each cycle is a summary task and the three cycles are to be done
in succession. Each cycle consists of two operations, Review and Modify.
Should it require additional iterations it is easy to add them and if it
turns out we're lucky enough hit the mark with only one or two cycles we can
easily remove the extras. Notice also the dates and durations of our
summary tasks are now more meaningful, showing the time each phase is going
to take. Using your structure, the duration of the code review summary, for
example, will show the total time between start of the review of cycle 1 to
the end of the review of cycle three, not a very meaningful value.