The concept of a project
The concept of a project
life cycle
life cycle
Grzegorz Gronkiewicz
Grzegorz Gronkiewicz
Radosław Całka
Radosław Całka
What is the purpose of having
What is the purpose of having
a project life cycle?
a project life cycle?
To define the activities to be carried out in a
To define the activities to be carried out in a
systems development project.
systems development project.
To introduce consistency among many systems
To introduce consistency among many systems
development projects in the same organization.
development projects in the same organization.
To provide checkpoints for management control
To provide checkpoints for management control
for go/no-go decisions.
for go/no-go decisions.
The classical project life
The classical project life
cycle
cycle
The survey phase and the analysis phase may be lumped
The survey phase and the analysis phase may be lumped
together into a single phase (this is especially common in
together into a single phase (this is especially common in
organizations in which anything the user wants is deemed
organizations in which anything the user wants is deemed
at the outset to be feasible).
at the outset to be feasible).
There may not be a phase called hardware study if it can be
There may not be a phase called hardware study if it can be
taken for granted that any new system can be implemented
taken for granted that any new system can be implemented
on an existing computer without causing any major
on an existing computer without causing any major
operational impact.
operational impact.
The preliminary design and detail design phases may be
The preliminary design and detail design phases may be
lumped together in a single phase simply called design.
lumped together in a single phase simply called design.
Several of the testing phases may be grouped together into
Several of the testing phases may be grouped together into
a single phase; indeed, they may even be included with
a single phase; indeed, they may even be included with
coding.
coding.
Bottom-Up Implementation
Bottom-Up Implementation
Nothing is done until it's
Nothing is done until it's
all
all
done.
done.
Module testing uncovers relatively simple
Module testing uncovers relatively simple
logic errors inside individual modules.
logic errors inside individual modules.
Debugging tends to be extremely difficult
Debugging tends to be extremely difficult
during the final stages of system testing.
during the final stages of system testing.
The requirement for computer test time
The requirement for computer test time
usually rises exponentially during the
usually rises exponentially during the
final stages of testing.
final stages of testing.
Sequential Progression
Sequential Progression
sequential approach doesn't allow for real-
sequential approach doesn't allow for real-
world phenomena having to do with
world phenomena having to do with
personnel
personnel
we rarely do a complex job right the first
we rarely do a complex job right the first
time, but we are very good at making
time, but we are very good at making
repeated improvements to an imperfect job
repeated improvements to an imperfect job
the user may change his or her mind about
the user may change his or her mind about
what the system should do
what the system should do
the classical project life cycle relies on
the classical project life cycle relies on
outdated techniques
outdated techniques
The semi structured life
The semi structured life
cycle
cycle
The bottom-up sequence of coding,
The bottom-up sequence of coding,
module testing, and system testing is
module testing, and system testing is
replaced by top-down implementation
replaced by top-down implementation
Approach where high-level modules are
Approach where high-level modules are
coded and tested first, followed by the
coded and tested first, followed by the
lower-level, detailed modules.
lower-level, detailed modules.
Strong indication that structured
Strong indication that structured
programming is to be used as the method
programming is to be used as the method
of actually coding the system.
of actually coding the system.
Classical design is replaced by structured
Classical design is replaced by structured
design.
design.
The structured project life
The structured project life
cycle
cycle
The Survey
The Survey
Systems Analysis
Systems Analysis
Design
Design
Implementation
Implementation
Acceptance Test Generation
Acceptance Test Generation
Quality Assurance
Quality Assurance
Procedure Description
Procedure Description
Database Conversion
Database Conversion
Installation
Installation
Radical versus conservative
Radical versus conservative
top-down implementation
top-down implementation
In the most extreme
In the most extreme
situation, all the
situation, all the
activities in the
activities in the
structured project life
structured project life
cycle could be taking
cycle could be taking
place simultaneously
place simultaneously
in a
in a
conservative
conservative
approach to the
approach to the
structured project life
structured project life
cycle, all of activity N
cycle, all of activity N
is completed before
is completed before
activity N + 1 begins.
activity N + 1 begins.
How does a project manager
How does a project manager
decide whether to adopt a
decide whether to adopt a
radical or conservative
radical or conservative
approach?
approach?
How fickle is the user?
How fickle is the user?
What pressure is the project team under to
What pressure is the project team under to
produce immediate, tangible results?
produce immediate, tangible results?
What pressure is the project manager under
What pressure is the project manager under
to produce an accurate schedule, budget,
to produce an accurate schedule, budget,
and estimate of people and other
and estimate of people and other
resources?
resources?
What are the dangers of making a major
What are the dangers of making a major
technical blunder?
technical blunder?
The Prototyping life cycle
The Prototyping life cycle
An alternative approach to
An alternative approach to
requirements definition is to capture
requirements definition is to capture
an initial set of needs and to
an initial set of needs and to
implement quickly those needs with
implement quickly those needs with
the stated intent of iteratively
the stated intent of iteratively
expanding and refining them as
expanding and refining them as
mutual user/developer understanding
mutual user/developer understanding
of the system grows
of the system grows
Good candidates for a
Good candidates for a
prototyping approach
prototyping approach
The user is unable (or unwilling) to examine
The user is unable (or unwilling) to examine
abstract paper models like dataflow diagrams.
abstract paper models like dataflow diagrams.
The user is unable or unwilling to articulate (or
The user is unable or unwilling to articulate (or
“prespecify”) his or her requirements in any
“prespecify”) his or her requirements in any
form and can only determine the requirements
form and can only determine the requirements
through a process of trial and error.
through a process of trial and error.
The system is intended to be on-line with full-
The system is intended to be on-line with full-
screen terminal activities, as opposed to batch
screen terminal activities, as opposed to batch
edit, update, and report systems.
edit, update, and report systems.