Should we add manpower to the project if we discover that our software project is behind schedule? How can we catch up in a late project?
According to Brooks, failure to
meet schedule is the reason for most software project failures. The reasons for
that:
1. We don’t know how to estimate
(overly optimistic).
2. We confuse effort with progress.
3. Software managers give in to
pressure to reduce time estimates because they are uncertain of their estimate.
4. We don’t monitor schedule
progress properly.
5. We tend to handle schedule slips
by adding people. This tends to magnify
the problem…
Progress vs. Cost, 1
When there is no dependency among
people, the amount of time to do a task diminishes with each new person. Note that the cost (people * months) is
constant.
Progress vs. Cost, 2
When there is a dependency and
the task cannot be partitioned, adding people has no effect on time required,
but it has a big effect on cost.
Progress vs. Cost, 3
If task can be partitioned, but
requires communication, must handle training and communication as each person
is added. This can cause project to be
later.
Example:
Suppose that at 2 months, we
achieve milestone A. We must deliver on
time. What can we do?
Assume the project will go
according to plan from here on (optimism!)
So 9 person-months must be
accomplished in 2 monthsà Add 2 people.
Assume the project estimate is
off by a factor of 2.
So 18 person-months must be
accomplished in 2 monthsà Add 6 people.
n Let’s say we add 2 people at
month 2.
n Must train them – assume this
takes 1 month and requires 1 of the other 3 people.
n During month 3:
n 3 person-months of training work
n Still have 9-2=7 person-months of
work, but only 1 month left!
Brooks’s law: Adding people to a late software project
makes it later.
Should we add manpower to the project if we discover
that our software project is behind schedule? How can we catch up in a late
project?
The number of months of a project depends
upon its sequential constraints.
The maximum number of men depends
upon the number of independent subtasks. From
these two quantities one can derive schedules using fewer men and
more months. We cannot,
get workable schedules using more men and fewer months.
Exceptions – What should be
Done
·
Projects that are not really late, especially those
with unrealistic or otherwise flawed timetables.
·
Over-hiring: We can add more staff than are needed.
For example, if we think that our project will require 3 people for 6 months,
we can hire 4 people at the beginning of the project.
·
Good project segmentation: The notion here is that if a team is broken up into
sub-teams, the addition of a new member will drain fewer time, talent and
energy resources from the project, since fewer team members will have to be
involved in the ramping-up of a new player whose responsibilities and tasks are
compartmentalized and relatively isolated—in terms of inputs, outputs and
impact on the “big picture” or project as a whole.







Hiç yorum yok:
Yorum Gönder