Title: Software Project Management
1Software Project Management
"... project management is probably the toughest
single problem in the software industry.
--Capers Jones Jones 1996, p 213
2Motivation
- Nearly all software is created in the context of
a project. Projects must be managed. - Project management is about planning, tracking
and controlling product development. - Good project management is just as important to
project success as the technical activities of
coding and testing.
3Projects Old Concept New Approaches
- A project is a temporary endeavor undertaken to
create a unique product or service PMI 2000. - Projects have been around as long as humans.
- Some notable projects in the history of
civilization include - Egyptian Pyramids
- Roman Aqueducts
- Polaris Missile Program
4Project vs. Operation
- Projects and ongoing operations are two ways of
organizing work. - Projects have a definite start and end date.
Ongoing operations go on forever (To infinity
and beyond!) - Projects are the preferred method of organizing
work that produces a unique product or service.
Work that is ongoing and routine is better
performed as an operation using an organization's
permanent infrastructure.
5Projects Old Concept New Approaches
- The fundamentals of PM haven't changed in over
4,000 years, but project managers today have
access to new tools and techniques. - New tools include the PC and project management
software such as MS Project. - New techniques, invented in the first half of the
20th century to handle large-scale military and
civilian construction projects, include - GANTT Charts
- PERT/CPM
- Earned Value Analysis
6Project Management Institute (PMI)
- The PMI is the worlds leading project management
professional association. - Started in the late 60s, the PMI now has over
200,000 members worldwide.
- The PMI provides several levels of certification
related to project management. - The PMI is the author of the well-known
reference A Guide to the Project Management
Body of Knowledge (PMBOK).
7Project Life Cycle
- Just as the product of software development moves
through a sequence of phases marked by
product-oriented milestones, the project as a
whole moves through its own sequence of phases
marked by project-oriented milestones.
8Standard Functions of Project Management
- Planning - deciding in advance what to do.
- Organizing - defining roles and responsibilities
for the project team. - Staffing - filling and keeping filled roles
defined by the organization structure. - Directing - leading and motivating individuals to
achieve their potential. - Tracking and Controlling - periodically assessing
project status and taking corrective action when
actual progress deviates significantly from plans.
9Project Life Cycle
- The project life cycle defines the phases a
project goes through from inception to
completion. The four main phases of the project
life cycle are - Initiation Phase Define objectives and get
approval to proceed. - Planning Phase Decide who does what when.
- Execution Controlling Phase Perform the work
as described in the project plan. The bulk of the
project effort will be expended here but other
than tracking and controlling its not a busy
time for the PM. - Closeout Phase Get closure. Customer accepts
results. Do a project postmortem. What went
right? What went wrong? Do casual analysis on
problems in order to identify root causes with
the intention of improving performance on future
projects.
10The Role of Project Manager
- The responsibility for managing a project can be
distributed among the project members, but more
commonly is assigned to one individualthe
project manager. - Project management is independent of technical
specialty. The tools and techniques of project
management are the same whether you are
fabricating with bits or bricks. The job of
project manager, however, is industry specific.
You must know something about software to be a
good manager of a software project.
11Project Life CycleTiming and Application
12Project Management and the Software Development
Life Cycle
13Project Management Activities
14The Art and Science ofProject Management
- Art
- Vision
- Leading
- Motivating
- Creative problem solving
- Managing expectations
- Science
- Planning
- Organizing
- Staffing
- Tracking
- Control
- Reporting
15Special Challenges Managing Software Projects
- Visibility. Because software is intangible,
additional work is needed to make the process and
product of software development visible. - Absence of routine solutions and processes.
- Changing requirements.
- Changing implementation technologies.
16The Four Variables of a Project
- Every project has to balance the desire for
features and quality with constraints on cost and
time. - There is rarely enough time or money to deliver
all of the features and quality that the customer
can use. Its up to the project manager to find a
balance that is agreeable to all and manage the
project in a way that keeps these variables
balanced throughout the project.
17The Four Variables of a Project cont
- Cost the amount of money available to do a
project. For software projects most of the cost
goes toward salaries so effort is a good
approximation of cost. - Time is the amount of calendar time available
to complete a project. - Features are a measure of functionality. What
is the software to do? - Quality a measure of how well the product does
what it is suppose to do. Defects obviously lower
the quality of the software.
18Understanding the Tradeoffs Among the Four
Variables of a Project
- When looking for a balance among these four
variables, the following conceptual formula
provides intuition about how a change in one
variable will affect the others. - Once the formula is balanced, a change in one
variable will necessitate an offsetting change in
one or more of the other variables. - For example, once the variables are balanced for
a project adding more features can only be offset
by one or more of lower quality, higher cost or
longer project duration.
Cost Time Features Quality
19Understanding The True Relationship Between
Project Variables
- The formula for project equilibrium is a
simplification. The true relationship between
project variables is more complicated than
mathematical multiplication () - There are also limits to the extent that a change
in one variable can be balanced by a change in
another. - The following graphs more accurately represent
the true relationships between these four
variables
20Balancing the four variables of a Project
- The key to finding an acceptable balance is
knowing at the start of a project which variables
are fixed and which have a degree of freedom. - If we don't have these 15 features, we can't be
competitive in the marketplace. (features are
fixed) - The grant authorizes us to spend 50K on the
software and it has to be ready for review by
February. (time and cost are fixed) - "The system is safety-critical so it has to be
error-free." (quality is fixed) - If all four variables are fixed, and the
formula is out of balance, you are in trouble.
21Ask the customerto prioritize objectives
- At the start of a project after features have
been decided, there is an old saying that neatly
summaries the customers options
You can have it fast you can have it
cheap or you can have it good. Pick
two.
- Despite its brevity (and levity), this simple
statement of options makes three important
points - There are tradeoffs among the four variables of a
project and it's impossible to optimize them all. - There has to be a degree of freedom with at least
one variable. The customer can't dictate all
four. - It's important to establish the priorities among
these variables at the start of a project.
22Productivity addressesthe issue of feasibility
- Taking into account team productivity, the
formula for project equilibrium becomes
Cost Time Productivity Constant Features
Quality
- Team productivity is an important factor to
consider when deciding whether or not a
particular project request is feasible. - The productivity constant accounts for the
capabilities of the people doing the work, the
process they are following and the tools and
technologies they are using.
23Project Triple Constraint
- According to the rule of threes, people tend to
remember and react more favorably to lists of
three. - When speaking of the main variables or
constraints on a project its more convenient to
refer to them as three variables cost, time, and
performance, where performance aggregates
features and quality.
- Taken together the three variables are sometimes
referred to as the project triple constraint or
iron triangle.
24Education over Negotiation
- You can negotiate tradeoffs among the four
variables but you cant negotiate their
relationships. - At the start of a project you have estimates for
the cost and duration. If you have been recording
historic data on past project, you also have
reasonably accurate productivity data. - You can negotiate how much unpaid overtime you
will spend, but other than that there isnt
anything to negotiate. - The customer might wish estimates for cost and
duration were lower, but you cant negotiate them
lower.
25Education over Negotiation cont
- Just as Ohm's law describes how volts, current
and resistance are balanced in an electrical
circuit (V I R), the formula for project
equilibrium describes the balance of forces
during a project. - Electrical engineers cant violate Ohm's law and
software engineers cant complete a software
project when these variables are out-of-balance.
26Keys to Project Success
27Del Defining Characteristics of a Project?
- The work is temporary.
- The result is a unique product or service.
Projects are one-time events resulting in a
unique product or service.
28Project Characteristics
- Projects are characterized by
- Specific objectives
- Schedule
- Budget
- Team of individuals working together
- Production of a unique product or service