Upload
samuel90
View
343
Download
1
Tags:
Embed Size (px)
Citation preview
Software Project Management
Project ManagementProject 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
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
Project Manager’s Dilemma
YOU CAN ONLY HAVE TWO!!!!
GO
OD
CHEAP
FAST
Project Managers Rectangle
FEASIBLE ZONE
Resources Quality
Schedule Features
Project Manager Responsibilities
• Proposal Writing• Project Costing• Project Planning & Scheduling• Project Monitoring & Reviews• Personnel Selection & Evaluation• Report Writing & Presentations
Sommerville, 1995
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
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
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
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
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
Scheduling
• Milestones • Need about 1 per week• Don’t use status report submission• Choose to govern project
execution
Some Historical Figures (Small Projects)
• Architecture/Design 10%• Detailed Design 20%• Code/Debug 25%• Unit Testing 20%• Integration 15%• System Test 10%
Scheduling
• Dependencies• What has to be done before I can
start this activity?• Governs sequencing
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
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
Risk Analysis
• Risk– Something that can go wrong– Often a result of inadequate
information
• Assessment (Identify, Analyze, Prioritize)
• Control (Planning, Resolution, Monitoring)
Levels of Risk Management
• Crisis Management (Fire Fighting)• Fix on Failure• Risk Mitigation• Risk Prevention• Elimination of root causes
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)
Project Plan
• Format on class web page• Sample risks on web page• Grading criteria off web page
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