Page 87 -
P. 87
58 PART TWO MANAGING SOFTWARE PROJECTS
software projects has improved somewhat, our project failure rate remains higher
than it should be. 2
In order to avoid project failure, a software project manager and the software engi-
neers who build the product must avoid a set of common warning signs, understand
the critical success factors that lead to good project management, and develop a com-
monsense approach for planning, monitoring and controlling the project. Each of
these issues is discussed in Section 3.5 and in the chapters that follow.
3.2 PEOPLE
In a study published by the IEEE [CUR88], the engineering vice presidents of three
major technology companies were asked the most important contributor to a suc-
cessful software project. They answered in the following way:
VP 1: I guess if you had to pick one thing out that is most important in our environment,
“Companies that I'd say it's not the tools that we use, it's the people.
sensibly manage VP 2: The most important ingredient that was successful on this project was having
their investment in
people will prosper smart people . . . very little else matters in my opinion. . . . The most important
in the long run.” thing you do for a project is selecting the staff . . . The success of the software
development organization is very, very much associated with the ability to recruit
Tom DeMarco &
Tim Lister good people.
VP 3: The only rule I have in management is to ensure I have good people—real good
people—and that I grow good people—and that I provide an environment in
which good people can produce.
Indeed, this is a compelling testimonial on the importance of people in the software
engineering process. And yet, all of us, from senior engineering vice presidents to
the lowliest practitioner, often take people for granted. Managers argue (as the pre-
ceding group had) that people are primary, but their actions sometimes belie their
words. In this section we examine the players who participate in the software process
and the manner in which they are organized to perform effective software engi-
neering.
3.2.1 The Players
The software process (and every software project) is populated by players who can
be categorized into one of five constituencies:
1. Senior managers who define the business issues that often have significant
influence on the project.
2 Given these statistics, it’s reasonable to ask how the impact of computers continues to grow
exponentially and the software industry continues to post double digit sales growth. Part of the
answer, I think, is that a substantial number of these “failed” projects are ill-conceived in the first
place. Customers lose interest quickly (because what they requested wasn’t really as important as
they first thought), and the projects are cancelled.