21
Software Project Management Project Management Project Planning

Project Planning

Embed Size (px)

Citation preview

Page 1: Project Planning

Software Project Management

Project ManagementProject Planning

Page 2: Project Planning

Agenda• Deliverables

– Friday, May 21 @ 5 PM - Status Report #2– Friday, May 28 @ 5 PM - Status Report #3– Friday, May 28 @ 5 PM

• Requirements Document• Project Plan

• Faculty Advisors– Final Assignments Next Week– Contact ASAP if already assigned

• Lecture: Project Management

Page 3: Project Planning

Project Management• Goals

– Software delivered within budget– Software delivered within schedule– Software is built according to requirements

• Why?– Well-managed projects sometimes fail– Badly managed projects inevitably fail– Software development process is not

standardized

Page 4: Project Planning

Project Manager’s Dilemma

YOU CAN ONLY HAVE TWO!!!!

GO

OD

CHEAP

FAST

Page 5: Project Planning

Project Managers Rectangle

FEASIBLE ZONE

Resources Quality

Schedule Features

Page 6: Project Planning

Project Manager Responsibilities

• Proposal Writing• Project Costing• Project Planning & Scheduling• Project Monitoring & Reviews• Personnel Selection & Evaluation• Report Writing & Presentations

Sommerville, 1995

Page 7: Project Planning

Project Planning ProcessEstablish the project constraints Make initial assessments of the project parameters Define project milestones and deliverableswhile project has not been completed or cancelled loop

Draw up project scheduleInitiate activities according to schedule

Wait ( Execute project for a while ) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables if ( problems arise ) then Initiate technical review and possible revision end if

end loop

Sommerville, 1995

Page 8: Project Planning

So how do we do this?• Spend time understanding the problem• Estimate amount of effort required (This is

hard!!)– Number of major functions– Difficulty of each function

• Develop schedule with built in safety nets– Increase estimates by some factor– Have a backup plan for worst case– Make sure schedule is realistic

• Revise schedule as project understanding increases

Page 9: Project Planning

Estimation Overview• Difficult & error

prone• Gradual refinement

– At beginning of project, have a “fuzzy” idea of problem, therefore estimate of time and effort will be “fuzzy” too

– Only as the project develops and the problem and solution become clearer, will the estimates increase in accuracy

• Estimation Process– Estimate the size of

the product• Lines of code (LOC)• Function Points• Number of functions

– Estimate the effort• Person-months• 50-60

Hours/Credit/Person

– Estimate the schedule• Calendar time

Page 10: Project Planning

From Estimation to Scheduling

• Refinement– Initial problem (x4)

statement– Requirements(x1.5)

Specification– High Level Design (x1.25)– Detailed Design (x1.1)

Specification– Implementation (x1)

• Top-Down vs. Bottom-Up

• Cases– Best Case– Most Likely Case– Current Case– Worst Case

Page 11: Project Planning

Scheduling• Activities

– Split project into tasks• Estimate time &

resources required

– Organize tasks concurrently to make optimal use of workforce

– Minimize task dependencies to avoid delays

– Exit Criteria

• Problems– Estimating is difficult– Productivity is not

proportional to the number of people

– Adding people to a late project makes it later

– The unexpected always happens - allow contingency

Page 12: Project Planning

Scheduling

• Milestones • Need about 1 per week• Don’t use status report submission• Choose to govern project

execution

Page 13: Project Planning

Some Historical Figures (Small Projects)

• Architecture/Design 10%• Detailed Design 20%• Code/Debug 25%• Unit Testing 20%• Integration 15%• System Test 10%

Page 14: Project Planning

Scheduling

• Dependencies• What has to be done before I can

start this activity?• Governs sequencing

Page 15: Project Planning

Scheduling• Derived from estimated level of effort required• Don’t forget testing & integration take time too• Be realistic

– Other classes– Outside work/activities– Eat & sleep

• Build in safety nets & backup plans• Find Critical Path• Work Leveling

Page 16: Project Planning

Project Schedules (Gantt)

Sommerville, 1995

4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

T4T1T2

M1T7T3

M5T8

M3M2T6T5

M4T9

M7T10

M6T11M8

T12

Start

Finish

Page 17: Project Planning

Risk Analysis

• Risk– Something that can go wrong– Often a result of inadequate

information

• Assessment (Identify, Analyze, Prioritize)

• Control (Planning, Resolution, Monitoring)

Page 18: Project Planning

Levels of Risk Management

• Crisis Management (Fire Fighting)• Fix on Failure• Risk Mitigation• Risk Prevention• Elimination of root causes

Page 19: Project Planning

Risk Resolution Alternatives

• Acceptance• Avoidance (Eliminate)• Protection (Redundancy)• Reduction (Mitigation, Prevention,

Anticipation)• Research (Need more info)• Reserves (Slush fund, bank, pad)• Transfer (shift to someone else)

Page 20: Project Planning

Project Plan

• Format on class web page• Sample risks on web page• Grading criteria off web page

Page 21: Project Planning

In Summary...

• Good project management is essential for project success

• Managers have diverse roles, but focus on– Planning– Estimating– Scheduling

• Planning and estimating are iterative processes

• Beware the “Fuzzy Front End” (McConnell)

Sommerville, 1995