Download presentation
Presentation is loading. Please wait.
1
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 4 Project Management
2
2 CS 501 Spring 2008 Administration Projects Announcements by project teams Quiz 1 Quiz 1 is next Thursday. Information is posted on the web site. Office hours No office hours on Tuesday, February 5.
3
3 CS 501 Spring 2008 OS 360 The operating system for the IBM 360 was two years late. Question: How does a project get two years behind schedule? Answer: One day at a time! Fred Brooks Jr., The Mythical Man Month
4
4 CS 501 Spring 2008 The Aim of Project Management To complete a project: On time On budget With required functionality To the satisfaction of the client Without exhausting the team To provide visibility about the progress of a project
5
5 CS 501 Spring 2008 Aspects of Project Management Planning Outline schedule during feasibility study Detailed schedule at the beginning of a project or phase of a project Progress tracking Regular comparison of progress against plan Final analysis Analysis of project for improvements during next project
6
6 CS 501 Spring 2008 Terminology Deliverable Work product that is provided to the customer (report, presentation, documentation, code, etc.) Milestone Completion of a specified set of activities (e.g., delivery of a deliverable, completion of a process step)
7
7 CS 501 Spring 2008 Terminology Activity Part of a project that takes place over time (also known as a task). Event The end of a group of activities. Dependency An activity that cannot begin until some event is reached Resource Staff time, equipment, or other limited resources required by an activity.
8
8 CS 501 Spring 2008 General Approach to Project Planning Identify deliverables and milestones Divide project into activities (tasks) For each activity estimate: time to complete from when activity begins dependencies on events before beginning resource requirements Build a model that uses this data to create a work-plan, including schedule, resource allocation, and flexibility
9
9 CS 501 Spring 2008 Project Planning Methods Critical Path Method, Gantt charts, Activity bar charts, etc. Build a work-plan from activity data. Display work-plan in graphical form. Project planning software (e.g., Microsoft Project) Maintain a database of activities and related data Calculate and display schedules Provide progress reports
10
10 CS 501 Spring 2008 A Simple Gantt Chart Source: Microsoft using Excel
11
11 CS 501 Spring 2008 Gantt Charts Dates run along the top (days, weeks or months). Each row represents an activity. Activities may be scheduled sequentially, in parallel or overlapping. The schedule for an activity is a horizontal bar. The left end marks the planned beginning of the task. The right end marks the expected end date. The chart may be updated by filling in each activity to a length proportional to the work accomplished. Progress to date can be compared with the plan by drawing a vertical line through the chart at the current date.
12
12 CS 501 Spring 2008 A More Complex Gantt Chart Source: SmartDraw
13
13 CS 501 Spring 2008 Activity Graph An activity (task) A dummy activity (dependency) An event A milestone A scheduling technique that emphasizes dependencies
14
14 CS 501 Spring 2008 Example: Activity Graph for a Distance Learning Course START Edit 1 Script TV Make TV Edit 2 Prototype Software Write Software Document Software Mail Plan TV Plan 1 Write 1 Plan 2 Plan Software Write 2 Typeset 1 Typeset 2 Print
15
15 CS 501 Spring 2008 Scheduling: Background PERT Program Evaluation and Review Technique introduced by the U.S. Navy in 1957 to support the development of its Polaris submarine missile program. PERT/Time Activity graph with three time estimates (shortest, most probable, longest) on each activity to compute schedules. PERT/Cost Added scheduling of resources (e.g., facilities, skilled people, etc.)
16
16 CS 501 Spring 2008 Critical Path Method Uses Activity Graph with single time estimate for each activity to estimate: earliest start date -- every activity begins at first possible time latest start date -- every activity begins at the last possible time slack -- difference between the latest and earliest start dates A standard method for managing large construction projects. On big projects, activity graphs with more than 10,000 activities are common.
17
17 CS 501 Spring 2008 Time Estimates for Activities (Weeks) 6 4 2 2 3 3 3 3 8 2 11 4 12 1 4
18
18 CS 501 Spring 2008 Earliest Start Dates 6 4 2 2 3 3 3 3 8 2 1 1 4 12 1 4 0 1 4 17 19 23 5 25 22 17 15 8 20 23 24 All activities beginning at a given event have the same earliest start date. Earliest start dates in red
19
19 CS 501 Spring 2008 Latest Start Dates 6 4 2 2 3 3 3 3 8 2 1 1 4 12 1 11 12 14 13 15 20 2324 25 4 22 0 17 10 18 17 20 19 Each event must be achieved by the date shown or the final date will not be met. Latest start dates in blue
20
20 CS 501 Spring 2008 Critical Path 0/00/0 1/11 12/12 12/14 4/13 15/1517/17 19/20 22/2323/24 25/25 Every activity on the critical path must begin on the earliest start date. Critical path in orange
21
21 CS 501 Spring 2008 Slack 0/00/0 1/11 17/17 23/24 1 2 2 12/12 12/14 4/13 15/1517/17 19/20 22/23 25/25 4 8 12 32 3 4 4 3 3 6 1 1 Slack of activity = (latest start) end - (earliest start) begin - (time estimate) 10 0 00 0 0 0 9 9 2 2 2 3 1 1 1 1 5 Slack in purple
22
22 CS 501 Spring 2008 Estimating the Time for an Activity With experienced staff, estimating the actual time to carry out a single task is usually fairly accurate, but... The little bits and pieces are underestimated The time from almost "done" to completely "done" is much longer than anticipated. (There's just one thing to tidy up. I need to put the comments into better shape. I really should get rid of that patch.) The distractions are not planned for. (My system crashed and I decided to upgrade the software. My child's school was closed because of snow. I spent the day showing visitors around.) Some things have to be done twice.
23
23 CS 501 Spring 2008 Start-up Time On a big project, the start-up time is typically three to six months: Personnel have to complete previous projects (fatigue) or be recruited. Hardware and software has to be acquired and installed. Staff have to learn new domain areas and software (slow while learning). Clients may not be ready.
24
24 CS 501 Spring 2008 Final Analysis with Critical Path Method Administrative computing department at Dartmouth used the Critical Path Method for implementation phase of major projects (plan developed after project was well-understood). Experience: Elapsed time to complete projects was consistently 30% to 40% longer than predicted by model. Analysis: Some tasks not anticipated (incomplete understanding) Some tasks had to be redone (change of requirements, technical changes) Key personnel were on many activities (schedule conflicts) System ZZZ (non-billable hours)
25
25 CS 501 Spring 2008 Adding Resources to Activity Graph or Gantt Chart Each activity is labeled with resources, e.g., Number of people (e.g., 2 Java programmers) Key personnel (e.g., chief system architect) Equipment (e.g., 3 servers with specified software) Facilities (e.g., video conference center) Each resource is labeled with availability, e.g., Hiring and training Vacations Equipment availability
26
26 CS 501 Spring 2008 Using Critical Path Method for Resources Assume every activity begins at earliest start date: In each time period, calculate: resources required resources available Identify shortage / surplus resources Adjust schedule acquire extra staff (e.g., consultants) rearrange schedule (e.g., change vacations) change order of carrying out activities The earlier that a problem is known, the easier it is to fix.
27
27 CS 501 Spring 2008 Key Personnel: The Mythical Man Month In computing, not all people are equal The best are at least 5 times more productive. Some tasks are too difficult for everybody. Adding more people adds communications complexity Some activities need a single mind. Sometimes, the elapsed time for an activity can not be shortened. What happens to the project if a key person is sick or quits?
28
28 CS 501 Spring 2008 The Project Manager Create and maintain the schedule. Track progress against schedule. Keep some slack in the schedule (minimize risk). Continually make adjustments: Start activities before previous activity complete Sub-contract activities Renegotiate deliverables Keep senior management informed (visibility). The project manager needs the support of the head of the development team and the confidence of the team members.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.