Page 64 -
P. 64
work. However, the project manager should also pay attention to professional develop-
ment. Senior team members are scarce; they can’t be assigned every task, and some tasks
are too difficult to assign to junior people at all. Assigning a junior programmer to work
with a senior one will potentially make that junior programmer more valuable on the
next project, but can cost more time from both people for training and overhead.
Resource allocation is often the most difficult and time-consuming part of effective project
management, because it requires the project manager to know the team. There is no hard-
and-fast rule for deciding who is allocated to which task. This is a decision that requires a
great deal of attention to the skill sets of the people on the team and to their personal
motivation. Some people prefer working on certain kinds of tasks, and are most produc-
tive when they are doing those.
Finally, there are two useful and well-known principles to remember when considering
how people work on projects. First, Parkinson’s Law (named for C. Northcote Parkinson,
who first wrote about it in 1958) states, “Work expands so as to fill the time available for
its completion.” And second, as Fred Brooks pointed out his 1975 book The Mythical Man-
Month, “Nine women cannot have a baby in one month”—in other words, some tasks can
be done only by one person, no matter how critical that task is.
Identify Dependencies
Once resources are allocated, the next step in creating a project schedule is to identify
dependencies between tasks. A task has a dependency if it involves an activity, resource, or
work product that is subsequently required by another task. Dependencies come in many
forms: a test plan can’t be executed until a build of the software is delivered; code might
depend on classes or modules built in earlier stages; a user interface can’t be built until the
design is reviewed. If Wideband Delphi is used to generate estimates, many of these
dependencies will already be represented in the assumptions. It is the project manager’s
responsibility to work with everyone on the engineering team to identify these dependen-
cies. The project manager should start by taking the WBS and adding dependency infor-
mation to it: each task in the WBS is given a number, and the number of any task that it is
dependent on should be listed next to it as a predecessor. Figure 4-1 shows the four ways in
which one task can be dependent on another.
Until the Until the Until the Until the
predecessor predecessor predecessor predecessor
is finished starts starts finishes
The The The The
dependent dependent dependent dependent
cannot start cannot start cannot finish cannot finish
Finish-to-Start (FS) Start-to-Start (SS) Start-to-Finish (SF) Finish-to-Finish (FF)
FIGURE 4-1. Four different types of predecessor
56 CHAPTER FOUR