Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 501: Software Engineering

Similar presentations


Presentation on theme: "CS 501: Software Engineering"— Presentation transcript:

1 CS 501: Software Engineering
Lecture 4 Project Management

2 Administration Next Tuesday
Short Lecture: Managing Code and Documentation (Harris) Quiz 45 minutes open book and notes 2 questions on lectures and readings to date

3 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 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

5 Terminology Deliverable
Work product that is provided to the customer (report, presentation, documentation, code, etc.) Activity Part of a project that takes place over time. Event The beginning or end of an activity. Milestone Completion of a specified set of activities (e.g., delivery of a deliverable)

6 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).

7 Project Planning Methods
The Critical Path Method, Gantt charts, Activity bar charts, etc. are roughly equivalent. These methods are best when: • Model is updated regularly (e.g., monthly) • The structure of the project is well understood • The time estimates are reliable • Activities do not share resources

8 Example: An Open University Course
Deliverables: 16 Written texts (bound in pairs) 8 Television programs 8 Radio programs 4 Computer programs 1 Home experimental kit (scientific calculator) 4 Assignments and sample solutions

9 Scheduling: Activity Graph
An activity A dummy activity An event A milestone

10 Activity Graph (part) other activities Revise Unit 3 Print Unit 3 Edit
Mail Unit 3 END START

11 Activity Graph (continued)
other activities Revise Unit 3 Edit Unit 3 Typeset Unit 3 Print Units 3/4 Mail Units 3/4 START Typeset Unit 4 other activities Revise Unit 4 Edit Unit 4

12 Activity Graph (continued)
Script TV 2 Make TV 2 Edit Unit 3 START Mail Edit Unit 4 Document Computer 1 Program Computer 1 Prototype Computer 1

13 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.)

14 Critical Path Method Uses Activity Graph with single time estimate for each activity to estimate, for each event: earliest start date latest start data and for each activity: slack The standard method for managing large construction projects. On big projects, activity graphs with more than 10,000 activities are common place.

15 Time Estimates for Activities (Weeks)
4 1 3 2 6 3 1 1 12 3 12 3 2 2 8 4 4

16 Earliest Start Dates 1 4 1 5 3 15 2 6 12 17 23 24 3 20 25 1 12 22 23 1 15 3 12 17 3 2 12 19 2 8 4 8 17 4 4

17 Latest Start Dates 11 4 19 17 20 1 3 2 6 12 15 3 10 1 12 23 24 25 1 3 12 18 17 3 2 14 20 2 8 4 22 17 4 13

18 Critical Path 1/11 12/12 15/15 17/17 25/25 22/23 23/24 0/0 12/14 17/17
19/20 4/13 17/17

19 Slack Slack of activity
= (latest start)end - (earliest start)begin - (time estimate) 0/0 1/11 10 4 10 1 12/12 15/15 17/17 6 2 25/25 3 2 3 22/23 3 23/24 12 1 1 1 1 12 1 12/14 17/17 19/20 2 3 3 2 1 2 5 2 8 4 9 4/13 17/17 4 9

20 Estimating the Time for an Activity
With experienced staff, estimating the actual time to carry out a 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.

21 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.

22 Experience with Critical Path Method
Administrative computing department at Dartmouth used the Critical Path Method for implementation phase of major projects. Experience: Elapsed time to complete projects was consistently 25% 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 on many activities (schedule conflicts) • System ZZZ (non-billable hours)

23 Adding Resources to Activity Graph
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

24 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.

25 Key Personnel 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?

26 Key Personnel: Schedule for Editor
Earliest Start Date Activity Weeks Edit Unit 3 Weeks Edit Unit 4 Weeks Edit Unit 5 Weeks Edit Unit 6 Week 15 Review draft of Unit 7 Week 17 Review draft of Unit 8 Week 19 Check proofs of Unit 3 Week 21 Check proofs of Unit 4 Weeks Vacation

27 Flexibility: Open University Example
Schedule: Dates for broadcasting TV and radio programs are fixed. Printing and mailings can be accelerated if overtime is used. Functionality: The course team can decide what goes into the components of the course. Resources: The size of the course team can be increased slightly.

28 Value of Scheduling Tools
Planning discipline Identify all activities and inter-relationship Provide schedule for each resource (identify clashes) Early warning of difficulties (e.g., timing of equipment purchase) Routine updating of schedule Focus on key milestones Visibility for management Weekly staff meeting -- What did we expect to accomplish? What did we accomplish? What is expected for next week?


Download ppt "CS 501: Software Engineering"

Similar presentations


Ads by Google