Download presentation
Presentation is loading. Please wait.
Published byVincent York Modified over 9 years ago
1
Software Engineering Lecture 7: Scheduling & Tracking
2
Today’s Topics l Why is Scheduling Hard? l Scheduling Principles l Time vs. Effort l Scheduling Methods l Tracking & Control
3
Why is Software Late? l Unrealistic deadline (external) l Changing requirements not reflected in the schedule l Honest underestimation l Risks not considered... Unforeseen technical difficulties Human difficulties Miscommunication Management failure
4
Quotes “Any commander-in-chief who undertakes to carry out a plan which he considers defective is at fault; he must put forth his reasons, insist on the plan being changed, and finally tender his resignation rather than be the instrument of his army’s downfall.” [Napoleon Bonaparte]
5
Quotes [2] If best estimates indicate that the deadline is unrealistic, the manager should “protect his or her team from undue (schedule) pressure and reflect the pressure back to its originators” [Page-Jones, 1985]
6
Coping with Unrealistic Deadlines l Perform detailed estimate based on past data l Develop an incremental model that delivers critical functionality by original deadline l Explain estimate to the customer l Offer incremental alternative
7
Why Do Plans Fail? l “None love the bearer of bad news” (Sophocles) Don’t postpone making adjustments to a project in trouble! l Q: “How does a project get to be a year late?” A: “One day at a time.” Any delay on the critical path can have a big impact! [from Brooks, 1995]
8
Scheduling Levels l Macroscopic schedule early; identify major activities, milestones l Detailed schedule project underway; specific tasks identified and scheduled l Schedule drivers: fixed delivery date (resources flexible) fixed resources (dates flexible)
9
Scheduling Principles l Compartmentalization product and process decomposition improves manageability l Interdependency identify hard constraints on task scheduling l Time allocation effort level, start/end dates
10
Scheduling Principles [2] l Effort validation resource loading varies day to day; are there any unrealistic “peaks”? l Defined responsibilities tasks assigned to individuals l Defined outcomes tasks have specific work products l Defined milestones review for quality, “approval”
11
Time vs. Effort l A non-linear relationship l Communication overhead increases with more people l E = LOC^3/(P^3*t^4) 12 person-years, 33K LOC 8 people = 1.3 years to completion 4 people = 1.75 years to completion 6-month extension halves resources P must be tracked historically... [Putnam, 1992]
12
Effort Distribution l 40% Analysis and Design l 20% Implementation l 40% Testing and Evaluation l Disparity between design and implementation grows with complexity
13
Types of Software Projects l Concept development l New application development l Application enhancement l Application maintenance l Reengineering Each type might use a different life-cycle model, task sets, teaming arrangements, etc.
14
Degree of Rigor l Casual, Structured, Strict Increasing level of attention to formal task sets, umbrella activities, etc. l Quick Reaction Only tasks related to maintaining quality are applied; additional detail (documentation, etc.) added later
15
[From SEPA 5/e] Concept Development, Linear Sequential Model
16
[From SEPA 5/e] Concept Development, Linear Sequential Model
17
[From SEPA 5/e] Task Network, Macroscopic Level Q: Is there a critical path? A: Can’t tell until we add scheduling detail! (microscopic level)
18
Scheduling Methods l Task Dependencies, Critical Path Task Network (macro level) PERT chart (micro level) l Task Concurrency, Resources Gannt chart (timeline chart)
19
PERT Chart l Program Evaluation and Review Technique l Identify task dependencies l Order tasks chronologically l Link tasks in a network diagram
20
PERT [2] l Consider: Earliest start, latest start, earliest finish, latest finish l Derive critical path, insert milestones l Assign resources
21
Gantt Chart l “Timeline” view of project l Different perspective Shows parallel activities more clearly Shows resource overload more clearly Doesn’t show dependencies as clearly
22
[From SEPA 5/e]
23
Milestones l Make them concrete and crisp l Best plan is one where “developers can’t deceive themselves”
24
Resource Graphs l Percent allocation per employee per day l Expose overflow/underflow l Global view of resources over project lifetime Ramp-up Ramp-down
25
Calendar View l Include tasks and employees l Best for weekly tracking l Easiest view for individuals focusing on their own tasks
26
Tracking and Control l Periodic status meetings Evaluate results of reviews Determine if milestones are met Compare actual start to planned start for each task l Informal meetings with developers Discuss individual challenges, time management techniques Another channel for “early warning”
27
[From SEPA 5/e] An Example Project Table
28
Scheduled vs. Estimated l Carry two sets of dates in the schedule l Constant variance in “estimated” times l “Scheduled” times change only when necessary l “Under-promise, over-deliver”
29
Planning Lessons l A plan is only useful if it is tracked regularly and updated when necessary l Bad news is better in small, early increments
30
Scheduling: Summary l Estimation + Risk Analysis + Scheduling = Project Plan l Begins with decomposition l Task network created l Time line, Critical path, Resource allocation l Basis for Tracking and Control
31
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.