methodology, and ample time set aside to perform the tasks related to answering these
questions. The problem of who funds this part of the planning phase has always been
a difficult business question. Sometimes customers and users are asked to fund these
activities separately; other times the software project organization will sponsor the activ-
ities as costs of doing business and fold them into the cost of the total project. Today,
large, sophisticated organizations realize the importance of this planning phase and are
willing to pay for part of the activities.
Once the basic project requirements are understood, the rest of the project planning
activities are much easier to perform and complete. The following activities are the major
parts of project planning:
n
Ensure that the requirements of the project are accurately understood and specified.
n
Estimate the work effort, the schedule, and the needed resources/cost of the project.
n
Define and establish measurable goals for the project.
n
Determine the project resource allocations of people, process, tools, and facilities.
n
Identify and analyze the project risks.
There are skills and techniques involved in each of these activities. Some will be fur-
ther explained in separate sections of this chapter. Based on the proper completion of
requirements gathering and analysis, the total work effort is estimated. This estimation
is then used to establish a project schedule and cost. The schedule milestones are set
according to the chosen process, tools, skills, and so on.
One of the most difficult tasks during this phase is defining realistic and measurable
goals. We are used to making grand claims about software products—superior quality,
easy to use, easy to maintain. We also like to claim that we have the most efficient and
productive team members or most effective methodology. Unless these claims are well
defined and measurable, they cannot serve as project goals because there will be no way
of monitoring them. As happens in requirements gathering and analysis, a project man-
ager will not be defining these goals alone. It usually is, and should be, a team effort. The
success of a project is determined by whether the jointly planned and agreed to goals
are achieved. Therefore, the project team members should all understand these goals
and measurements. For example, if one of the project goals is to have a high-quality
product, the term high quality must be defined, or no one will know if the goal has been
achieved. But simply defining the term alone is not enough. A common mistake would
be to define high quality as a product that satisfies customer requirements—a definition
that becomes circuitous and useless and does not include and allow quantitative analy-
sis. A goal or definition must be measurable so that as we are monitoring the project we
can ascertain if the product will achieve the high quality expected. The quality goal may
thus be restated more precisely as follows.
The product quality goal is that 98% of the listed functional requirements in
the approved requirements specification document are all tested and have
no known problems at the product release time. The remaining 2% of the
listed functional requirements are also all tested and have no known sever-
ity 1 problems at the product release time. Severity 1 problems are those
that cause the function not be completed and there is no manual work-
around to complete the required function.
268 Chapter 13 Software Project Management
91998_CH13_Tsui.indd 268 1/5/13 10:01:58 AM