Professional Documents
Culture Documents
Softwareprojectmanagement 110906042120 Phpapp 02
Softwareprojectmanagement 110906042120 Phpapp 02
S ft r Project
Pr j t
Manage ent
Management
R. Akerkar
TMRF Kolhapur,
TMRF, K lh India
I di
R. Akerkar - SPM 1
Introduction
Many software projects fail:
due to faulty project
management practices:
It is important to learn different
aspects of software project
management.
management
R. Akerkar - SPM 2
Introduction
Goal
of software project
management:
g
enable a group of engineers to work
efficiently towards successful
completion of a software project.
R. Akerkar - SPM 3
Responsibility of project managers
R. Akerkar - SPM 4
Introduction
A project manager’s
manager s activities
are varied.
can be broadly classified into:
project planning
planning,
project monitoring and control
activities.
R. Akerkar - SPM 5
Project
j Planning
g
Once a project is found to be
feasible,
project managers undertake project
p
planning.
g
R. Akerkar - SPM 6
Project
j Planningg Activities
Estimation:
Effort, cost, resource, and project duration
Project
j scheduling:
g
Staff organization:
staffing plans
Ri k handling:
Risk h dli
identification, analysis, and abatement procedures
Miscellaneous plans:
quality assurance plan, configuration management
plan, etc.
R. Akerkar - SPM 7
Project
j p planningg
Requires utmost care and attention ---
commitments to unrealistic time and resource
estimates result in:
irritating delays.
customer
cus o e d dissatisfaction
ssa s ac o
adverse affect on team morale
poor quality work
project failure.
R. Akerkar - SPM 8
Slidingg Window Planningg
as project progresses
progresses.
Facilitates accurate planning
R. Akerkar - SPM 9
SPMP Document
After planning is complete:
Document the plans:
p
in a Software Project
Management Plan(SPMP)
document.
R. Akerkar - SPM 10
Organization
g of SPMP Document
Introduction (Objectives,Major
(Objectives Major Functions,Performance
Functions Performance Issues,Management
Issues Management and
Technical Constraints)
R. Akerkar - SPM 11
Software Cost Estimation
R. Akerkar - SPM 12
Software Cost Estimation
Effort Cost
Estimation Estimation
Size Staffing
Estimation Estimation
Duration
Estimation Scheduling
R. Akerkar - SPM 13
Organization
g Structure
Functional Organization:
Engineers are organized into functional
groups e
groups, e.g.
g
specification, design, coding, testing,
maintenance etc
maintenance, etc.
Engineers from functional groups get
assigned to different projects
R. Akerkar - SPM 14
Advantages of Functional
Organization
Specialization
Ease of staffing
Good documentation is produced
d ee tp
different phases
ases a
are
e ca
carried
ed out by d
different
ee t
teams of engineers.
Helps identify errors earlier
earlier.
R. Akerkar - SPM 15
Project
j Organization
g
R. Akerkar - SPM 16
Team Structure
Problems of different complexities
and sizes require different team
structures:
Chief programmer team
Chief-programmer
Democratic team
Mixed
Mi d organization
i ti
R. Akerkar - SPM 17
Democratic Teams
Suitable for:
small projects requiring less than five or six
engineers
i
research-oriented projects
A manager provides administrative
p
leadership:
at different times different members of the
group
g p pprovide technical leadership.
p
R. Akerkar - SPM 18
Democratic Teams
Democratic organization provides
higher morale and job satisfaction to the engineers
therefore leads to less employee turnover
turnover.
Suitable for less understood problems,
a group of engineers can invent better solutions
than a single individual.
R. Akerkar - SPM 19
Democratic Teams
Disadvantage:
Di d t
team members may waste a lot
time arguing about trivial points:
absence
b off any authority
th it iin th
the
team.
R. Akerkar - SPM 20
Chief Programmer
g Team
R. Akerkar - SPM 21
Chief Programmer
g Team
R. Akerkar - SPM 22
Chief Programmer
g Team
R. Akerkar - SPM 23
Team Organization
g
Democratic Team
Chief Programmer team
R. Akerkar - SPM 24
Mixed team organization
g
R. Akerkar - SPM 25
Staffing
Project Managers usually
take responsibility for
choosing
h i their
th i team:
t
need to identify
y and select
good software engineers for
the success of the project
project.
R. Akerkar - SPM 26
Staffing
A common misconception:
p
one software engineer is as productive as
another:
E
Experiments
i t reveal:
l
a large variation in productivity between
the worst and best in a scale of 1 to 10.
10
Worst engineers even help reduce the
overall productivity of the team
in effect exhibit negative productivity.
R. Akerkar - SPM 27
Who is a Good Software Engineer?
R. Akerkar - SPM 28
Who is a Good Software Engineer? (cont.)
Studies show:
these attributes vary as much as
1:30 for poor and bright candidates.
Technical knowledge in the area of the
project (domain knowledge) is an
important factor, determines:
productivity of an individual
quality of the product he develops.
R. Akerkar - SPM 29
Who is a Good Software Engineer? (cont.)
R. Akerkar - SPM 30
Scheduling
Scheduling
g is an important activity
y for the
project managers.
To determine project schedule:
Identify tasks needed to complete the project.
Determine the dependency among different tasks.
Determine the most likely estimates for the duration
of the identified tasks.
Plan the starting and ending dates for various
t k
tasks.
R. Akerkar - SPM 31
Work Breakdown Structure
Work Breakdown Structure (WBS) provides a notation
f representing
for i task k structure:
Activities are represented as nodes of a tree.
R. Akerkar - SPM 32
Work Breakdown Structure
Compiler
p Project
j
R. Akerkar - SPM 33
Activity Networks
WBS structure can be refined into an
activity network representation:
Network of boxes and arrows
shows
h different
diff t tasks
t k making
ki up a project,
j t
represents the ordering among the tasks.
It is important to realize that developing
WBS and activity network
requires a thorough understanding of the
tasks involved.
R. Akerkar - SPM 34
Activity Network
Code Lexer
Write Manual
R. Akerkar - SPM 35
Risk Management
A risk is any unfavourable event or
circumstance:
which might hamper successful or timely
p
completion of a project.
p j
Risk management:
concerned with the reduction of the impact of risks.
Risk management consists of three activities:
risk identification,
risk assessment, and
risk
i k containment.
t i t
R. Akerkar - SPM 36
Risk identification
To be able to identify
y various risks:
we must categorize risks into different
classes.
Three main categories of risks can
affect a software project:
project risks
technical risks
business risks
R. Akerkar - SPM 37
Project
j Risks
Project risks associated with:
budget,
schedule,
personnel,
p ,
resource, and
customer
t problems.
bl
R. Akerkar - SPM 38
Technical Risks
R. Akerkar - SPM 39
Business Risks
R. Akerkar - SPM 40
Risk assessment
Objective
j of risk assessment is to
prioritize the risks:
Likelihood of a risk being real.
Consequence
C off th
the problems
bl associated
i t d
with that risk.
Prioritization helps in handling the most
damaging risks first.
Priority of a risk is the product of the likelihood of
the risk and the consequences of the problems
associated with that risk.
R. Akerkar - SPM 41
Risk Handling
g
Three main strategies for risk handling:
Avoid the risk: e.g. change the requirements for
performance or functionality.
Transfer the risk: allocate risks to third party
or buy insurance to cover any financial loss should
the risk become a reality.
Contingency planning: Prepare contingency pans
to minimize the impact of the risk.
R. Akerkar - SPM 42