5. Project Management

87
5. Project Management

description

5. Project Management. Goals. The goals of this chapter are to introduce concepts and techniques for the management of software projects. Summary. Good PM is not enough to warranty that a project succeeds - PowerPoint PPT Presentation

Transcript of 5. Project Management

Page 1: 5. Project Management

5. Project Management

Page 2: 5. Project Management

Goals

The goals of this chapter are to introduce concepts and techniques for the management of

software projects

Page 3: 5. Project Management

Summary

Good PM is not enough to warranty that a project succeeds But bad PM is enough to warranty that a project is late,

over budget and does not deliver the needed functionality Key activities in PM are project planning, cost and effort

estimation, project tracking, project organization, risk management

Key tools are Work breakdown structure, product breakdown structure (VPM in software projects), Gantt and Pert charts, process and product measures.

Page 4: 5. Project Management

Outline

5 Project management5.1 Project planning5.2 Cost/effort estimation5.3 Project Tracking5.4 Personnel

5.5 Risk Management

Page 5: 5. Project Management

Project Management

Software System (functions and quality)

Calendar time Cost

No notion of unpredictable events here

Page 6: 5. Project Management

Management activities

planning defining activities and products scheduling activities and deliveries on

calendar deciding organizational structure (5.4) allocating resources estimating cost / effort (5.2)

tracking (5.3)managing risks (5.5)

Page 7: 5. Project Management

5.1 Planning

Page 8: 5. Project Management

Tools

Phases, Activities, ResourcesWBS, PBSGantt, PertMilestones, deliverables

Page 9: 5. Project Management

WBS

Work Breakdown StructureHierarchical decomposition of

activities in subactivitiesno temporal relationships

Page 10: 5. Project Management

Milestone

Key event/condition in the projectwith effects on subsequent activitiesex. requirement document accepted

by the customer if yes then .. if no then ..

Page 11: 5. Project Management

Table 3.1. Phases, steps and activities of building a house.

Phase 1: Landscaping the lot Phase 2: Building the houseStep 1.1:Clearingandgrubbing

Step 2.1:Prepare thesite

Activity 1.1.1: Remove trees Activity 2.1.1: Survey the landActivity 1.1.2: Remove stumps Activity 2.1.2: Request permits

Step 1.2:Seeding theturf

Activity 2.1.3: Excavate for thefoundation

Activity 1.2.1: Aerate the soil Activity 2.1.4: Buy materialsActivity 1.2.2: Disperse the seeds Step 2.2:

Building theexterior

Activity 1.2.3: Water and weed Activity 2.2.1: Lay the foundationStep 1.3:Plantingshrubs andtrees

Activity 2.2.2: Build the outside walls

Activity 1.3.1: Obtain shrubs and trees Activity 2.2.3: Install exterior plumbingActivity 1.3.2: Dig holes Activity 2.2.4: Exterior electrical workActivity 1.3.3: Plant shrubs and trees Activity 2.2.5: Exterior sidingActivity 1.3.4: Anchor the trees andmulch around them

Activity 2.2.6: Paint the exterior

Activity 2.2.7: Install doors and fixturesActivity 2.2.8: Install roof

Step 2.3:Finishingthe interior

Activity 2.3.1: Install the interiorplumbingActivity 2.3.2: Install interior electricalworkActivity 2.3.3: Install wallboardActivity 2.3.4: Paint the interiorActivity 2.3.5: Install floor coveringActivity 2.3.6: Install doors and fixtures

Page 12: 5. Project Management

Table 3.2. Milestones in building a house.

1.1. Survey complete1.2. Permits issued1.3. Excavation complete1.4. Materials on hand2.1. Foundation laid2.2. Outside walls complete2.3. Exterior plumbing complete2.4. Exterior electrical work complete2.5. Exterior siding complete2.6. Exterior painting complete2.7. Doors and fixtures mounted2.8. Roof complete3.1. Interior plumbing complete3.2. Interior electrical work complete3.3. Wallboard in place3.4. Interior painting complete3.5. Floor covering laid3.6. Doors and fixtures mounted

Page 13: 5. Project Management

PBS

Product Breakdown Structurehierarchical decomposition of

product cfr Virtual Product Model

Page 14: 5. Project Management

Deliverable

Product (final or intermediate) in the process cfr PBS, VPM

internal (for producer) or external (for customer)

contractual value or not

Page 15: 5. Project Management

Gantt chart

ID Task Name

1 Requirements Planning2 Review existing systems

3 Perform work flow analysis

4 Model process

5 Identify user requirements

6 Identify performance requirements

7 Identify interface requirements

8 Prepare Software Requirements Specification

9 Software Requirements Review

0%

0%

0%

0%

0%

0%

0%

21/06

S M W F S T T S M W F S T T S4 30 May '94 06 Jun '94 13 Jun '94 20 Jun '94

Page 16: 5. Project Management

Pert

Reviewexistingsystems

2 3d

Wed 01/06/94Fri 03/06/94

Performwork flowanalysis

3 3d

Mon 06/06/94Wed 08/06/94

Model process

4 2d

Thu 09/06/94Fri 10/06/94

Identifyuserrequirements

5 2d

Mon 13/06/94Tue 14/06/94

Identifyperformance

6 2d

Wed 15/06/94Thu 16/06/94

Identifyinterfacerequirements

7 2d

Fri 17/06/94Mon 20/06/94

Prepare SoftwareRequirements

8 1d

Tue 21/06/94Tue 21/06/94

RequirementsPlanning

1 120h

Wed 01/06/94Tue 21/06/94

SoftwareRequirements

9 0d

Tue 21/06/94Tue 21/06/94

Page 17: 5. Project Management

PERT -directed acyclic graph: node = activity, arrow = precedence relatioship

Docum.

2Design

4Requir.

3

START

Test plan

2

Unit Test6

Coding4

System Test 4

STOPTest Data

2

Page 18: 5. Project Management

Critical path analysis

What is shortest time to complete the project?

What are the critical activities to complete the project in shortest time?

Critical activities are the ones on the critical path(s)

Page 19: 5. Project Management

Critical path -Path with longest duration

(1) START label with (0,0)

(2) For each node N whose predecessors are labeled: SN=max {Si} Si: end time for i-th predecessor label N with (SN, SN+duration)

(3) Repeat (2) until all nodes labeled

start end

Page 20: 5. Project Management

Example .

Docum.Design4

Requir.

START

Test PlanUnit Test

Code

System Test

STOP

Test data

(3,7)

(0,3)

(0,0) (3,5)(7,11)

(7,9)

(15,15)

(0,2) (2,8)(11,15)

2

2

32

4

4

6

Page 21: 5. Project Management

Analysis

- Late start latest time an activity can be started without changing end time of project

. . . . . -

.Slack time Admissible delay to complete an activity

Page 22: 5. Project Management

To Compute “Slack Time”

Start from graph (S,F) from critical path analysis, for each node compute new labels (S’,F’), max start and end times

1. For STOP (S’, F’)=(S,F).2. For each node whose successors are labeled

(S’, F’) compute min S’, that becomes F’ for the node S’=F’-duration Slack Time=S’- S (or also F’- F)

3. Repeat

Page 23: 5. Project Management

Managerial Implications

1. Use slack time to delay start time, or lenghten, an activity

2. If duration of activity on critical path lenghtens by X, the whole project is delayed by X

3. If only one critical path exists, reducing duration of any activity on critical path shortens duration of project.

Page 24: 5. Project Management

Planning Process

Identify activities and/or deliverables PBS, WBS reference models (VPM, CMM, Iso 9000)

estimate effort and cost define schedule (Gantt)analyze schedule (Pert)

Page 25: 5. Project Management

Project plan

living document will be updated during tracking

outline list of deliverables, activities milestones Gantt Pert personnel organization roles and responsibilities

Page 26: 5. Project Management

5.2 Estimation

Page 27: 5. Project Management

Table 3.3. Activities and time estimates.

Activity Time estimate (in days)Step 1: Prepare the siteActivity 1.1: Survey the land 3Activity 1.2: Request permits 15Activity 1.3: Excavate for the foundation 10Activity 1.4: Buy materials 10Step 2: Building the exteriorActivity 2.1: Lay the foundation 15Activity 2.2: Build the outside walls 20Activity 2.3: Install exterior plumbing 10Activity 2.4: Exterior electrical work 10Activity 2.5: Exterior siding 8Activity 2.6: Paint the exterior 5Activity 2.7: Install doors and fixtures 6Activity 2.8: Install roof 9Step 3: Finishing the interiorActivity 3.1: Install the interior plumbing 12Activity 3.2: Install interior electrical work 15Activity 3.3: Install wallboard 9Activity 3.4: Paint the interior 18Activity 3.5: Install floor covering 11Activity 3.6: Install doors and fixtures 7

Page 28: 5. Project Management

Costs - by phase

upfront costs market analysis, feasibility studies

development costsmaintenance costs

Page 29: 5. Project Management

hardware (target platform)hardware (development platform)personnel (by far main cost in most

cases) salaries, office space, travel .. technical administrative

Costs - by category

Page 30: 5. Project Management

Estimation of cost and effort

Based on analogy requires experience from the past to

‘foresee’ the future the closer a project to past projects, the

better the estimation

Page 31: 5. Project Management

Techniques

Expert judgement Delphi bottom-up empirical models

Cocomofunction points

Page 32: 5. Project Management

Expert judgement

one or more experts (chosen in function of experience) propose an estimate

Page 33: 5. Project Management

Delphi

evolution of expert judgementstructured meetings to achieve

consensus in estimate each participant proposes estimate

(anonymous) team leader publishes synthesis

(a + 4m + b)/6 (beta distribution)a best - b worst - m mean

iterate

Page 34: 5. Project Management

Bottom up

decomposition (WBS o PBS)estimate each part

easier estimate for small partsaggregate

not linear

Page 35: 5. Project Management

Empiricals models

requires data base of past projects min info required: size, effort

apply regression (linear, or else)apply regression for estimates

Page 36: 5. Project Management

Cocomo

effort = a * size **b a, b are defined constants, depend on the

type of system (organic = MIS, embedded rt, intermediate)

a,b are based on retrospective applicationrequires an estimated sizecocomo 2.0

integration of oo, reuse, gui, fp

Page 37: 5. Project Management

Function Points

fp = A*EI + B*EO + C*EQ + D*EIF + E*ILF

EI = number of Input Item EO = output item EQ = Inquiry EIF= Master File ILF = Interface

Page 38: 5. Project Management

Coefficients A,B,C,D,E

Page 39: 5. Project Management

Function Points

For any product, size in “function points” is given byFP = 4 Inp + 5 Out + 4 Inq + 10 Maf + 7 Inf

A 3-step process.

Page 40: 5. Project Management
Page 41: 5. Project Management

Function Points (2)

1. Classify each component of product (Inp, Out,

Inq, Maf, Inf) as simple, average, or complex. Assign appropriate number of function points Sum gives UFP (unadjusted function points)

Page 42: 5. Project Management

Function Points (3)

2. Compute technical complexity factor (TCF) Assign value from 0 (“not

present”) to 5 (“strong influence throughout”) to each of 14 factors such as transaction rates, portability

Add 14 numbers total degree of influence (DI)

TCF = 0.65 + 0.01 DI Technical complexity factor

(TCF) lies between 0.65 and 1.35

Page 43: 5. Project Management

Function Points (4)

3. Number of function points (FP) given by

FP = UFP TCF

Page 44: 5. Project Management

Function Points

suitable for MIS use of adjustment factors delicate FP expert should do estimate

long, expensive

conversion tables FP - LOC

conversion tables FP - costwww.ifpug.org

COBOL 110PL/1 654GL 25

Language LOC/FP

Page 45: 5. Project Management

5.3 Tracking

Page 46: 5. Project Management

Tracking process

project has startedcollect project data

minimum: effort, completion of activities/deliverables

process and product measurescompare estimated - actualcorrective actions

change personnel, change activities, change deliverables, ...

re-plan

Page 47: 5. Project Management

Process measures

time, effort, costfault, failure, changeproduct specific measures

Page 48: 5. Project Management

Effort

time taken by staff to complete a task

person hours (ieee 1045) person day, person month, person year

depend on national and corporation parameters

Page 49: 5. Project Management

Cost

cost to user acquisition, maintenance, normal

operation, initial operation (training, overheads)

cost to vendor staff hardware, software offices, telephone, ...

Page 50: 5. Project Management

Earned value

When the total time to do a project is estimated, each task is given a earned value based on its estimated percentage of the total. Example: for a 600 minute project, a 60

minute task will give an earned value of 10%.

When you reach an earned value of 100% the project is completed.

Page 51: 5. Project Management

Earned value

You earn the value of a phase only after completion. What if you consume more effort than

estimated for a phase? Earned value is the same, i.e. the assigned value for the phase.

Page 52: 5. Project Management

Example

Pre-Build

Build

Post-Build

Plan=50min.E.v=25%

Plan=100min.E.v=50%

Plan=50min.E.v=25%

If you are in the Build Phase, your Earned Value is 25%, because you have only finished Pre-build.

Page 53: 5. Project Management

Failure vs. Fault

Failure malfunction perceived by the user

Fault defect in the system, may cause failure

or not

FailureFault

Software system

0, many

causes

0, many1, many

Page 54: 5. Project Management

Failure

data to collectcalendar time, project time, execution timeeffect (bad data, loss of data, ...)location (product type, id)gravity (human injury, economic loss, ..)user profilerelated fault(s)

measuresclassification, count per classaverage time intervals

Page 55: 5. Project Management

Fault

data to collect effect (related failure, if any) location (product type, id) type (e.g. missing req, uninitialized var,

logic error, .. ) cause (communication, misunderstanding,

clerical, .. ) detecting method (test, inspection, ..) effort (finding and report handling)

Page 56: 5. Project Management

Change

data to collect location cause (related fault if corrective,

adaptive, perfective) effort

measures cost of failure

Page 57: 5. Project Management

Fault, Failure, Change

measures n open failures duration/effort to close a failure n failures discovered per v&v activity fault/failure density

faults/failures per modulefaults/failures per fpfaults/failures per loc

changes per document

Page 58: 5. Project Management

5.4 Personnel

Page 59: 5. Project Management

Project personnel

Key activities requiring personnel: requirements analysis system design program design program implementation testing training maintenance quality assurance

Page 60: 5. Project Management

Choosing personnel

ability to perform work interest in work experience with

similar applications similar tools or languages similar techniques similar development environments

training ability to communicate with others ability to share responsibility management skills

Page 61: 5. Project Management

Work styles

Extroverts: tell their thoughtsIntroverts: ask for suggestionsIntuitives: base decisions on feelingsRationals: base decisions on facts,

options

Page 62: 5. Project Management

Organizational structure

Depends on backgrounds and work styles of team members number of people on team

n people, max interactions = n2/2

management styles of customers and developers

Examples: Chief programmer team Egoless approach

Page 63: 5. Project Management

Organizational structures

Highly structured high certaintyrepetitionlarge project

Loosely structureduncertaintynew technologysmall projects

Page 64: 5. Project Management

5.5 Risk management

Page 65: 5. Project Management

Risk management

Project Management for adults

If you don’t actively attack the risks,

they will actively attack you

Tom Gilb

Page 66: 5. Project Management

Risk Management

Software system (functions, quality)

Calendar time Costs

Risks

Page 67: 5. Project Management

Risk management

Identify risksanalyze themquantify effects define strategies and plans to handle

them

Page 68: 5. Project Management

Risk

Future event that can have (bad) impact on project

Page 69: 5. Project Management

Boehm’s top ten risk items

Personnel shortfallsUnrealistic schedules and budgetsDeveloping the wrong functionsDeveloping the wrong user interfacesGold-platingContinuing stream of requirements changesShortfalls in externally-performed tasksShortfalls in externally-furnished componentsReal-time performance shortfallsStraining computer science capabilities

Page 70: 5. Project Management

Other common risks

instability of COTS (Commercial Off-The-Shelf) components/products

interface with legacystability of development platform (hw + sw) limitations of platformmulti-site developmentuse of new methodologies / technologiesstandards, lawsdevelopment team involved in other activities communication/language problems

Page 71: 5. Project Management

Risk management terms

Risk impact: the loss associated with the event

Risk probability: the likelihood that the event will occur

Risk control: the degree to which we can change the outcome

Risk exposure = (risk probability) x (risk impact)

Page 72: 5. Project Management

Three strategies for risk reduction

avoiding the risk: change requirements for performance or functionality

transferring the risk: transfer to other system, or buy insurance

assuming the risk: accept and control it

risk leverage = difference in risk exposure divided by cost of reducing the risk

Page 73: 5. Project Management

Company profiles and risk handling styles

project owner - takes charge of riskfixed price contractwork provider - no interest in risk

Page 74: 5. Project Management

RM Process

1- Risk assessment identification analysis ranking

2- Risk control planning monitoring

Page 75: 5. Project Management

Identification

identify risks checklist, taxonomies, questionnaires

PMI (Project Management Institute, PMBOK)SEI (SEI-93-TR-06)

• ex: technical, management, business risks

brainstorming experience

Page 76: 5. Project Management

Analysis

probability very high, high, medium, low, very low

impact catastrophic, critical, marginal,

negligible exposure

probability * impact

Page 77: 5. Project Management

Exposure

Impact/probability

Very high High Medium Low Very low

Catastrophic High High Moderate Moderate Low

Critical High High Moderate Low Null

Marginal Moderate Moderate Low Null Null

Negligible Moderate Low Low Null Null

Page 78: 5. Project Management

Ranking

By exposureby qualitative assessments

only higher exposure risks are handled

Page 79: 5. Project Management

RM Process

1- Risk assessment identification analysis ranking

2- Risk control planning monitoring

Page 80: 5. Project Management

Planning

For selected risks (high in exposure) define corrective actions evaluate cost, decide if acceptable insert actions in project plan

Page 81: 5. Project Management

Monitoring

follow project plan, including corrective actions

monitor status of risksidentify new risks, assess them,

update ranking

Page 82: 5. Project Management

Monitoring (2)

Is part of PM that has to consider also risk log (document) risk reviews (activities)

also with external assessorscan be coupled with project reviews

Page 83: 5. Project Management

Risk log

Risk Probability Impact Exposure Action Status

hw platformnot available

high Critical high Add softwareLayercompatiblewith otherplatforms

Under control

Page 84: 5. Project Management

Actions for risks

Personnel shortfalls hire the best, the most suitable, training,

team building, technical reviewsunrealistic schedules and budget

more detailed plans, iterative process, reuse, new plans

instability of components (COTS) qualification, detailed analysis of product and

vendor, software layer.

Page 85: 5. Project Management

inadequate requirements prototyping, JAD, iterative process, include user

representative in processJoint Application Development

inadequate user interface study user needs, usability analysis, prototyping

requirement changes suitable design, iterative process, rigid change

control

Page 86: 5. Project Management

Interface with legacy reengineering, encapsulation, incremental

change

subcontractors contracts and payments, team building,

assessments before and during

new technologies prototyping, cost benefit analysis

Page 87: 5. Project Management

References

www.pmi.org www.sei.cmu.edu Rapid Development - Taming Wild Software Schedules, Steve

McConnell, Microsoft Press, 1996 Software Engineering Risk Management, Dale Walter Karolak,

IEEE Computer Society Press, 1996 Assessment and Control of Software Risks , Caper Jones, Yourdon

Press, 1994 Software Risk Management - Principles and Practices, Barry

W.Boehm, IEEE Software, Vol 8, No. 1, Jan 1991, PP32-41 Taxonomy-Based Risk Identification, M.J.Carr et al., CMU/SEI-93-

TR-06, SEI, 1993 Www.riskwatch.com - Risk management tools