|
|||||
Software
Project Management
(CS615)
LECTURE
# 12
2.
Software Development
Fundamentals
Management
Fundamentals
2.10
Problems in
Software Projects
⇒ Product-related
Problems
·
III-defined
scope: You need
to define the scope of the
software product in
the
initial
stages of a software project.
The scope of a software
product is defined
in terms
of the functionality requirements,
the performance requirements,
the
assumptions,
and the constraints on the
product. If the product
scope is ill
defined,
the software project does
not have a proper focus on
the features
required
in the product.
·
Fuzzy
users: You also
need to clarify the
background characteristics of
the
users of
the final software product
at the beginning of the
software project. If
the
description of the users is
fuzzy, then the software
analysis, design, and
development
stages may reflect the
ambiguity with regard to the
functions and
performance
of the final software
product.
⇒ Technology-related
problems
You may
also encounter technology-related
problems in a software project.
These
include:
·
Overestimated
savings from reusable
components and new tools
and
methods:
You can
reuse software components in a
software project to
save
time,
effort, and cost of creating the
component again. It is important that
you
assess
the savings that the
use of such a software
component provides to a
software
project. This expectation of
both the customer and the
management
might
not be met, if you
overestimate the savings
from reusing software
components.
·
Switching
tools in mid way: The
current technology environment
offers new
tools and
technologies for software
development at a fast rate. All
these tools
and
technologies offer the
benefits of a shorter development
cycle, lower
costs, and
under better functionality
than earlier tools. You
should identify
and
commit to the tool and
technology for the software
project before the
project
commences. Switching the tool or
technology used during the
software
development
stage causes the developers
to relearn a new tool. In
addition,
89
Software
Project Management
(CS615)
there is
a chance that it might not be possible to
integrate the software
already
developed
with the new
tool.
·
Integrating
different software products in
cross-platform implementation:
The
modem software environment
requires that all software
should integrate
with
each other. However, many
software projects do not
plan for integration
with
existing software in the
same or different domain.
This limits the
applicationofsu9h
software and reduces the
shelf life drastically. They
key to
the
success of a software product is
interoperability. The software
project
manager
needs to determine the scope
for the software product
such that is
can be
integrated easily with
existing software.
⇒ Summary
The
phases in a software project can be
organized into a project
life cycle. Some
standard
life cycle models are
the Waterfall model, the
Prototyping model,
the
Incremental
model, and the Spiral
model.
Organizational
policies and attitudes influence
the progress of a software
project
and the
tasks of a software project manager.
For smooth progress of
software,
project,
the organization should be
proactive in adopting changes in
technology
and
market environments, focused on
developing software, and accept
software
projects
that match the
organizational capability baseline. In
addition, the
organization
should implement employee-friendly
human resource policies and
good
knowledge management system.
The
role of a software project manager
includes managing resources, cost,
risk,
schedules,
project plan, and quality.
Software project management activities
can
be
divided into phases. The
main phases and the
associated activities are
initiating
the
project, planning, controlling, and
tracking, implementing the
product, and
project
closedown.
Initiating
the project includes
gathering requirements, determining
the scope,
allocating
resources, and creating an initial
project plan. Planning,
controlling,
and
tracking involve creating a
detailed project plan,
constructing software, and
implementing
a control mechanism. Implementing
the product comprises
implementation
plan, support plan, training
plan, and user acceptance
plan.
Project
closedown includes preparing
closedown report, identifying
learning for
future
projects, and identifying reusable
software components for
future software
projects.
Problems-
affecting software projects can be
classified into
people-related,
project-related,
product-related, and
technology-related.
Various
myths regarding software
project management are adding
more people to
a late
project can help to finish
the project on time,
combining the best
resources
90
Software
Project Management
(CS615)
with
the worst resources results
in optimal resource allocation, and
changes to the
scope of
the software project and the
software product can be made at
any-time in
the
SDLC.
91
Table of Contents:
|
|||||