|
 |
All projects have some
type of project
management process and
some type of project
lifecycle process. In
many cases, the process
is easily observable. In
other cases, the
processes are all
informal and ad-hoc.
Informal, ad-hoc
processes are fine for
small projects that you
can manage in your head,
but as projects become
larger, they get harder
and harder to execute
and manage in your head.
It then becomes more and
more important to have a
formal project lifecycle
model that you can
execute. |
The basic content of the
LifecycleStep process focuses on
the traditional waterfall
projects. Given the basic
characteristics of waterfall,
this model can probably be
utilized on almost every project.
Of course, it may not be the
most efficient and effective.
Other methodologies may be
better for projects with certain
characteristics. Iterative and
Agile projects for instance, may
be better for certain types of
online IT business application
projects. However, you could not
use the Iterative model for a
project to implement a new
marketing campaign.
This portion of LifecycleStep
will highlight many of the
common lifecycle models that can
be used based on the
characteristics of your project.
The remainder of the section
describes many additional
project lifecycle models. Many
of these models also have sample
workplans in the workplan
library.
-
461.0 Waterfall
.
This is the default
lifecycle for all projects,
unless it is determined that
another of the specialty
models is more appropriate.
This model includes upfront
analysis, then the
sequential design, construct,
test and implementation
processes.
-
462.0 Iterative Development
.
This is a specific model
for custom software
development. The project
must be somewhat complicated
in that it will take
multiple cycles to
completely develop the
application. If the
application seems simple and
the requirements seem
relatively straightforward,
the Waterfall model may be
better.
-
463.0 Agile / "Light" Models
.
Agile development is not
really a methodology as much
as it is a philosophy for
managing and executing
software development
projects. Agile is based on
an Iterative approach, but
it takes this model to a
number of extremes.
-
464.0 Enhancements
.
This model is used when
you are modifying an
existing solution. It
assumes that many of the
design decisions are already
made since the new work
needs to integrate into a
solution that already exists.
If the enhancement is very
large, it is possible that
the iterative development
model could be used.
Otherwise, enhancements are
typically done with a
Waterfall model.
-
465.0 Package Selection and
Implementation
.
This model is
specifically used if your
project requires you to
evaluate packages or vendors.
There are times when a
package or vendor selection
is a part of a larger
project. In that case the
package / vendor selection
activities would be added to
another workplan model.
-
466.0 Customer Relationship
Management (CRM)
.
This section describes
the approach to take when
executing a customer
relationship management
implementation project.
-
467.0 Software Releases
.
This model is used when
you are batching together a
number of changes into one
release package. This is
usually the case when you
have a number of
enhancements. The Release
model allows you to select a
specific set of enhancements
to implement, work on all of
them at once, and then
implement the entire set of
enhancements all at once.
See
496.3
Workplan Library
for a Software Release
Workplan.
-
468.0 Research and
Development
.
This model is used when
you are performing research
on some type of solution.
The analysis consists of
determining your
requirements and seeing how
you can satisfy the
requirements. The project
may end after the research
is completed or else you can
proceed to a development
phase. The development phase
is used to create a
short-term solution that
simply determines if the
solution is viable. The
activities are streamlined
since the solution will be
thrown away after the final
proposal is made. See
496.3
Workplan Library
for a Research and
Development Workplan.
Reuse, Reuse, Reuse
Reuse is
important in all organizations,
especially in IT development. It
is much better to find and reuse
a component that has already
been developed, rather than have
to build the same component from
scratch. However, significant
reuse does not happen by chance.
It needs to be planned. See
480.0
Establishing a Reuse Environment
for more information.