|
|||||
Software
Project Management
(CS615)
LECTURE
# 11
2.
Software Development
Fundamentals
Management
Fundamentals
2.11
Problems in
Software Projects
Software
projects are similar to
traditional projects in the
sense that the
same
types of
problems affect them both.
However, the difference in
managing these
problems
lies in the approach that
you take to the specific issue.
For example, a
technology-related
problem for a software
project might be the low
degree of
reuse of
the software components created.
However, for a car-manufacturing
firm,
there is
no chance of reusing a component such as
a front axle.
You can
classify the problems that
affect software projects
into the following
four
categories:
·
People-related
problems
·
Process-related
problems
·
Product-related
problems
·
Technology-related
problems
⇒ People-related
problems
People-related
problems in a software project
are:
·
Low
motivation: As the
project manager it is your responsibility
to ensure an
optimal
level of motivation within
the team. Lengthy projects,
complex
activities1
and scarce resources often
decrease the motivation
level in a
software
development team. However, you
need to lead in such a way
that the
team is
constantly motivated to do a good
job.
·
Problem
employees: Some
members of any team always create a
problem. For
example,
an employee may carry a
'holier-than thou' attitude.
Problem
employees
raise the chances of
conflicts and differences of opinions
within
the
development team. They lower
the efficiency and productivity of
other
team members and make
it difficult to meet the objectives of
the software
project
within the specified time.
You need to ensure that employees
are not
allowed
to create a pr9blem for the
rest of the team. Even if the
employee is
very
competent, you need to
assess the indispensability of
such emp1oyees for
the
project. Moreover, you
refrain from playing
favorite with certain
employees
and treat everyone with the
same measure.
85
Software
Project Management
(CS615)
·
Unproductive
work environment: The
work environment is a major
factor
that
affects the productivity of
the development team. For
example, a noisy or
cramped
workspace decreases the
motivation levels of the
employees.
Similarly,
unfriendly organizational policies also
lower the motivation of
the
team members. As
the project manager, you
need to ensure that the team
is
protected
from harmful external make
the workspace friendly to
work in.
·
Inefficient
project management style: the
project manager needs to lead by
example.
The team members absorb
the
work culture, work ethic,
and attitude
of the
project manager and implement it in their
work style. If you display
a
lack of
leadership qualities and weak ideals,
the motivation levels
decrease
across
software team.
·
Lack
of stakeholder interest: For a
software project to be a success,
each
stakeholder
needs to take an active interest in
the progress of the project.
Al1
stakeholders,
including the customer, the
management, and the
software
development
team, need to commit to the
success of the project. For
example,
if the
software development team is not
committed to the project,
then their
contribution
may not be to the optimum
level.
·
Ineffective
project sponsorship by management: Lack of
commitment of the
senior
management to a software project lowers
the motivation level of
the
team members. If
the management commits to the
progress of a software
project,
and takes a keen interest in the
progress, the confidence of
the
software
development team will increase.
⇒ Process-
related Problems
The
process-related problems in a software
project are:
·
Unrealistic
schedule:
Assigning unrealistic deadlines for a
software project is
a primary
reason why software projects
are delayed. Often, the
marketing or
the
management team commit a delivery date to
the customer in the hope
of
getting
the project contract.
However, these dates are
not decided in
consultation
with the development team.
The rationale for assigning
the
deadlines is
unfounded. You need to ensure that
the deadlines match
the
ability
of the software team to deliver
the software product. As it is
not always
possible to
shift deadlines committed to the
customer, you also need to
plan
the
resource allocation and project execution
such that the deadlines are
met.
·
Insufficient
identification: Unidentified,
partially identified, and
unplanned
risks
pose a threat to the success
of a software project. You need to
intensively
identify
risks and evolve a risk management
plan such that the
project is
completed
successfully, on time.
86
Software
Project Management
(CS615)
·
Unsuitable
life cycle model
selection:
Different software projects
require
different
SDLC models. For example, a
project to create banking
.software is
different
from software for a
satellite where the concept
needs to be
researched.
For the former example,
the Waterfall model is more
applicable.
For
the latter example, the
Spiral model is more
suitable. Selecting the
correct
life
cycle model is critical to
the success of a software
project.
·
Abandoning
quality under pressure of deadlines:
Where a
software project
faces a
shortage of resources, time, and funds,
project managers often
push
away
quality concerns and focus on
meeting deadlines and staying within
the
budget.
Abandoning quality has a
ripple effect that actually
adds even more
time,
effort, and costs to the
software projects. The cost of
doing things right
the
first time is lower than
the cost of inspection during
product delivery.
Also,
the cost of inspection is lower
than the cost of debugging
software after
the
customer spots
errors.
·
Unstructured
and hurried software development:
When
software project
progresses
with more focus on meeting
deadlines and staying within a
budget,
the
approach to the software development is
unstructured and hurried. You
should
plan the software project
such that all the
activities are
identified,
sequenced
properly, and roles and responsibilities
assigned to the
various
people on
the project. You should also
maintain the focus of the
development
team
toward a structured approach to software
development.
⇒ Product-related
Problems
There
are many product-related
problems that you can face in a
software project.
These
are:
·
Product
scope changed toward the
end of the project life
cycle: The
project
time,
effort, and cost estimates for a
software project can go up
dramatically
when
the customer changes the
scope 9f the product toward
the end of the
project.
In such situations, you
should verify the
criticality of the
scope
change.
However, if the change request is not
critical, you should retain
the
original
scope with a proper
explanation to the customer. If
the change request
is
critical, you should explain
the situation to the
customer. Usually, a
customer
gives more time and funds to
a software project if
proper
justification
is provided. In some cases,
the scope change may also be
because
of a change in
government policy. It may
become mandatory for you
to
include
such change requests.
·
Research-oriented
software development: Many
software projects
digress
from
the original scope because
of the nature of the
software product or
technology
used. When a totally new
kind of software is developed or a
new
87
Software
Project Management
(CS615)
technology
is used, the software
development team can lose focus of
the
objectives
by getting into a research-oriented
approach. It becomes your
responsibility
as the project manager to maintain
the focus on the
objective.
88
Table of Contents:
|
|||||