Download Project management

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Construction management wikipedia , lookup

PRINCE2 wikipedia , lookup

Software development wikipedia , lookup

Transcript
Chapter 5
Project Management
“…a huge topic.” See Part 6, “Managing People”.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 1
Project management

Organizing, planning and scheduling
software projects
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 2
Objectives




To introduce software project management and
to describe its distinctive characteristics.
To discuss project planning and the planning
process.
To show how graphical schedule representations
are used by project management.
To discuss the notion of risks and the risk
management process.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 3
Topics covered




Management activities
Project planning
Project scheduling
Risk management
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 4
Software project management


Concerned with activities involved in ensuring
that software is delivered on time, within budget
and in accordance with the requirements of the
organizations developing and procuring the
software.
Project management is needed because
software development is always subject to
budget and schedule constraints that are set
by the organization developing the software.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 5
Software management distinctions





The product is intangible.
The product is uniquely flexible.
Software engineering is not recognized as an
engineering discipline with the same status as
mechanical, electrical engineering, etc.
The software development process is not
standardized.
Many software projects are “one-off” projects.
one-of-a-kind
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 6
Management activities







Proposal writing (to fund new projects)
Project planning and scheduling (focus of this Chap)
Project costing and preparing bids (Chap 26)
Project monitoring and reviews
Personnel selection and evaluation (Chap 25)
Report writing and presentations
Attending lots and lots of meetings!
•
IBM Santa Teresa study, etc., …
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 7
Management commonalities



These activities are not peculiar to software
management.
Many techniques of engineering project
management are equally applicable to software
project management.
Technically complex engineering systems tend to
suffer from most of the same problems as
software systems.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 8
Project staffing

May not be possible to appoint the ideal people
to work on a project…
•
•
•

Project budget may not allow for use of highly-paid staff.
Those with appropriate skills / experience may not be available.
An organization may wish to develop employee skills by
assigning inexperienced staff.
Managers have to work within these constraints
especially when there is a shortage of skilled IT
staff.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 9
Project planning



Probably the most time-consuming project
management activity (or at least it should be).
Continuous activity from initial concept to system
delivery. Plans must be regularly revised as new
information becomes available.
Different types of sub-plans may be developed
to support a main software project plan
concerned with overall schedule and budget.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 10
Types of project sub-plans
Plan
Quality plan
(QA)
Validation plan
Configuration
management plan
Maintenance plan
Staff development plan.
©Ian Sommerville 2000
Des cription
Des cribes the quality
procedures and
s tandards that will be us ed in a project.
Des cribes the approach, resources and
s chedule used for sys tem validation.
Des cribes the configuration management
procedures and structures to be us ed.
Predicts the maintenance requirements of
the s ystem, maintenance cos ts and
effort
required.
Des cribes how the skills and experience of
the project team
members will be
developed.
Software Engineering. Chapter 5
Slide 11
Project planning
“The plan is nothing – the planning is everything.”
– Dwight Eisenhower, on the
D-Day invasion plan
(a bit of dramatic overstatement to make a point…)
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 12
Project planning process
Establi sh the p roject cons train ts
Make in itia l as sess ments of the proj ect para mete rs
Defi ne p roject m iles tone s an d de liverab les
w hile p roject h as n ot b een com pleted o r ca
nce lledloop
cancelled
loop
Draw up proj ect schedu le
In itia te a cti vi ties accord ing to s che dule
Wa it ( for a while ) - not idle time…
Review p roject p rogres s
Revise estimates o f pro ject pa rameters
Upda te the p roject s che dule
Re-ne goti ate proje ct con strai nts and deli ve rable s
if ( probl ems arise )the n
In itia te tech nical re vi ew and pos sibl e revis ion
end if
end loop
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 13
The project plan

The project plan sets out:
•
•
•
The resources available to the project;
The work breakdown;
A schedule for the work.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 14
Project plan document structure







Introduction (goals, constraints, etc.)
Project organization
Risk analysis
Hardware and software resource requirements
Work breakdown
Project schedule
Monitoring and reporting mechanisms
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 15
Activity organization


Activities in a project should be associated with
tangible outputs for management to judge
progress (i.e., to provide process visibility)
Milestones are the unequivocal end-points of
process activities.
e.g., “DR1 complete” versus “90% of design complete”
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 16
Activity organization



Deliverables are project results delivered to
customers. (There are also internal
“deliverables”.)
The waterfall model allows for the
straightforward definition of milestones (“a
deliverable oriented model”).
Deliverables are always milestones, but
milestones are not necessarily deliverables.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 17
Milestones in the RE process
ACT IVITIES
Feasibility
study
Requir ements
analysis
Prototype
development
Design
study
Requir ements
specification
Feasibility
report
Requir ements
definition
Evaluation
report
Architectural
design
Requir ements
specification
MILESTONES
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 18
Project scheduling


Split project into tasks and estimate time and
resources required to complete each.
Tasks should not be too small or too large –
they should last on the order of weeks for
projects lasting months. (“Models should be as simple as
possible, but no simpler.”)
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 19
Project scheduling



Organize tasks as concurrent activities to make
optimal use of workforce.
Minimize task dependencies to avoid potential
delays.
Dependent on project managers’ intuition and
experience. (Good management is not a science.)
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 20
The project scheduling
process
Review Progress
Identify
activities
Identify activity
dependencies
Estimate resources
for activities
Software
requirements
©Ian Sommerville 2000
Allocate people
to activities
Create project
charts
Activity charts
and bar charts
Software Engineering. Chapter 5
Slide 21
Scheduling problems



Estimating the difficulty of problems, and hence
the cost of developing solutions, is hard.
Progress is generally not proportional to the
number of people working on a task.
Adding people to a late project can make it later
(due to coordination overhead). (F. Brooks, The Mythical
Man-Month)

The unexpected always happens. Always allow
for different contingencies in planning. (a.k.a. “Murphy’s
Law”)
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 22
more
T
I
M
E
less
few
PEOPLE
many
more
T
I
M
E
What if time and people were
perfectly interchangeable?
less
few
PEOPLE
many
1 person/12 months
more
T
I
M
E
What if time and people were
perfectly interchangeable?
12 persons/1 month
less
few
PEOPLE
many
1 person/12 months
more
T
I
M
E
What if time and people were
perfectly interchangeable?
12 persons/1 month
less
few
PEOPLE
many
more
T
I
M
E
K = time X people
less
few
PEOPLE
many
more
T
I
M
E
Stuffing Envelopes
less
few
PEOPLE
many
Having a baby
more
T
I
M
E
Stuffing Envelopes
less
few
PEOPLE
many
Having a baby
more
T
I
M
E
Software Development
Stuffing Envelopes
less
few
PEOPLE
many
Bar charts and activity
networks



Graphical notations are often used to illustrate
project schedules.
Activity charts (a.k.a. PERT* charts) show task
dependencies, durations, and the critical path.
Bar charts (a.k.a. GANTT charts) generally
show resource (e.g., people) assignments and
calendar time.
* Program Evaluation and Review Technique
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 31
Task durations and
dependencies
Task
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
©Ian Sommerville 2000
Duration (da ys)
8
15
15
10
10
5
20
25
15
15
7
10
Software Engineering. Chapter 5
Dependencies
T1 (M1)
T2, T4 (M2)
T1, T2 (M3)
T1 (M1)
T4 (M5)
T3, T6 (M4)
T5, T7 (M7)
T9 (M6)
T11 (M8)
Slide 32
Activity network
8 days
15 days
M1
T3
15 days
T9
T1
25/7/99
4/7/99
start
14/7/99
5 days
4/8/99
25/8/99
T6
M4
M6
M3
7 days
20 days
15 days
T7
T2
25/7/99
10 days
M2
T4
|CP|=55
T11
10 days
M7
T5
5/9/99
11/8/99
T10
18/7/99
M8
15 days
10 days
T12
M5
25 days
T8
Finish
19/9/99
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 33
How much potential “slack time”
is associated with Task J?
If J is on the Critical Path, CP,
then 0
Else
|CP| - |JL|
where JL is the longest path
containing J
Consider Task T4…
8 days
15 days
M1
T3
15 days
T9
T1
25/7/99
4/7/99
start
14/7/99
5 days
4/8/99
25/8/99
T6
M4
M6
M3
7 days
20 days
15 days
T7
T2
25/7/99
10 days
M2
T4
|CP|=55
T11
10 days
M7
T5
5/9/99
11/8/99
T10
18/7/99
M8
15 days
10 days
T12
M5
25 days
T8
Finish
19/9/99
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 35
Activity timeline
4/ 7
11/ 7
18 /7
25 /7
1/ 8
8/ 8
15 /8
22 /8
29 /8
5/ 9
12 /9
19 /9
St art
T4
T1
T2
potential slack time: 55-35 = 20 days
M1
duration
T7
T3
M5
T8
M3
M2
T6
T5
M4
T9
M7
T 10
M6
T 11
M8
T 12
Fi nish
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 36
Staff allocation (Gantt) Chart
4/7
Fred
11/7
18/7
25/
1/8
8/8
15/8 22/8
29/8
5/9
12/9
T4
T8
T11
T12
Jane
T1
T3
T9
Anne
T2
T6
Jim
M ary
©Ian Sommerville 2000
T10
T7
T5
Software Engineering. Chapter 5
Slide 37
19/9
Risk management

Risk management is concerned with
identifying risks and drawing up plans to
minimize their effect on a project.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 38
Risk management (cont’d)

A risk exists when there is a probability
that some adverse circumstance will occur.
•
•
•
Project risks affect schedule or resources.
Product risks affect the quality or performance of the
software being developed.
Business risks affect the organization developing or
procuring the software.
(Taxonomy based on Effect)
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 39
Software risks
Risk
Staff turnover
Risk type
Project
Management change
Project
Hardware unavailability
Project
Requirements change
Project and
product
Specification delays
Project and
product
Project and
product
Product
Size underestimate
CASE t ool underperformance
Technology change
Product comp etition
©Ian Sommerville 2000
Business
Business
Description
Experienced staff will leave the
project before it is finished.
There will be a change of
organisational management with
different priorities.
Hardware which is essential for the
project will not be delivered on
schedule.
There will be a larger numb er of
changes to the requirements than
anticipated.
Specifications of essential interfaces
are not available on schedule
The size of the system has been
underestimated.
CASE t ools which support the
project do not perform as anticipated
The underlying technology on which
the system is b uilt is superseded by
new technology.
A competitive product is marketed
before the system is completed.
Software Engineering. Chapter 5
Slide 40
The risk management process

Risk identification – identify project, product and
business risks

Risk analysis – assess the likelihood and
consequences of these risks

Risk planning – draw up plans to avoid or minimise
the effects of the risk

Risk monitoring – monitor the risks throughout the
project
We consider each of these activities in turn...
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 41
The risk management process
Risk
identification
Risk analysis
Risk planning
Risk
monitoring
List of potential
risks
Prioritised risk
list
Risk avoidance
and contingency
plans
Risk
assessment
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 42
Risk identification

Types
–
–
–
–
–
–
Technology risks
People risks
Organizational risks
Tools risks
Requirements risks
Estimation risks
(Taxonomy based on Source)
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 43
Risks and risk types
Risk type
Technology
People
Organisational
Tools
Requirements
Estimation
©Ian Sommerville 2000
Possible risks
The database used in the system cannot process as
many transactions per second as expected.
Software components which should be reused contain
defects which limit their functionality.
It is impossible to recruit staff with the skills required.
Key staff are ill and unavailable at critical times.
Required training for staff is not available.
The organisation is restructured so that different
management are responsible for the project.
Organisational financial problems force reductions in the
project budget.
The code generated by CASE tools is inefficient.
CASE tools cannot be integrated.
Changes to requirements which require major design
rework are proposed.
Customers fail to understand the impact of requirements
changes.
The time required to develop the software is
underestimated.
The rate of defect repair is underestimated.
The size of the software is underestimated.
Software Engineering. Chapter 5
Slide 44
Risk analysis



Assess probability and seriousness of
each risk.
Probability may be very low, low,
moderate, high or very high.
Risk effects might be catastrophic, serious,
tolerable or insignificant.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 45
Risk analysis
Risk
Organisational
financial
problems
force
reductions in the project budget.
It is impossible to recruit staff with the skills
required for the project.
Key staff are ill at critical times in the project.
Software components which should be reused
contain defects which limit their functionality.
Changes to requirements which require major
design rework are proposed.
The organisation is restructured so that different
management are responsible for the project.
The database used in the system cannot process
as many transactions per second as expected.
The time required to develop the software is
underestimated.
CASE tools cannot be integrated.
Customers fail to understand the impact of
requirements changes.
Required training for staff is not available.
The rate of defect repair is underestimated.
The size of the software is underestimated.
The code generated by CASE tools is inefficient.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Probability
Low
Effects
Catastrophic
High
Catastrophic
Moderate
Moderate
Serious
Serious
Moderate
Serious
High
Serious
Moderate
Serious
High
Serious
High
Moderate
Tolerable
Tolerable
Moderate
Moderate
High
Moderate
Tolerable
Tolerable
Tolerable
Insignificant
Slide 46
Risk planning


Consider each risk and develop a strategy to
manage that risk.
Avoidance strategies – the probability that the risk
will arise is reduced.

Minimisation strategies – the impact of the risk on
the project or product is reduced.

Contingency plans – if the risk arises, contingency
plans are plans to deal with that risk.
(to effect the
minimisation strategy)
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 47
Risk management strategies
Risk
Organisational
financial problems
Recruitment
problems
Staff illness
Defective
components
Requirements
changes
Organisational
restructuring
Database
performance
Underestimated
development time
©Ian Sommerville 2000
Strategy
Prepare a briefing document for senior management showing how the project is
making a very important contribution to the goals of the business.
Alert customer of potential difficulties and the possibility of delays, investigate
buying-in components.
Reorganise team so that there is more overlap of work and people therefore
understand each other’s jobs.
Replace potentially defective components with bought-in components of known
reliability.
Derive traceability information to assess requirements change impact, maximise
information hiding in the design.
Prepare a briefing document for senior management showing how the project is
making a very important contribution to the goals of the business.
Investigate the possibility of buying a higher-performance database.
Investigate buying in components, investigate use of a program generator.
Software Engineering. Chapter 5
Slide 48
Risk monitoring



Assess each identified risk regularly to
decide whether or not it is becoming less
or more probable.
Also assess whether the effects of the risk
have changed.
Each key risk should be discussed at
management progress meetings.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 49
Risk factors (warning signs)
Risk type
Technology
People
Organisational
Tools
Requirements
Estimation
©Ian Sommerville 2000
Potential indicators
Late delivery of hardware or support software, many reported
technology problems
Poor staff morale, poor relationships amongst team member,
job availability
organisational gossip, lack of action by senior management
reluctance by team members to use tools, complaints about
CASE tools, demands for higher-powered workstations
many requirements change requests, customer complaints
failure to meet agreed schedule, failure to clear reported
defects
Software Engineering. Chapter 5
Slide 50
Key points




Good project management is essential for project
success. (Necessary, but not sufficient…)
The intangible nature of software causes problems for
management.
Managers have diverse roles, but their most significant
activities are planning, estimating, and scheduling.
Planning and estimating are iterative processes which
continue throughout the course of a project.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 51
Key points (cont’d)


A project milestone is a predictable state where
some formal report of progress is presented to
management.
Risks may be project risks, product risks or
business risks. (and: technology, people, organisational, tools,
requirements, or estimation risks)

Risk management is concerned with identifying
risks which may affect the project, and planning
to ensure that these risks do not develop into
major threats.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 52
Chapter 5
Project Management
“…a huge topic.” See Part 6, “Managing People”.
©Ian Sommerville 2000
Software Engineering. Chapter 5
Slide 53