Software Engineering Lecture 7: Scheduling & Tracking.
-
Upload
vincent-york -
Category
Documents
-
view
221 -
download
1
Transcript of Software Engineering Lecture 7: Scheduling & Tracking.
![Page 1: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/1.jpg)
Software Engineering
Lecture 7: Scheduling & Tracking
![Page 2: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/2.jpg)
Today’s Topics Why is Scheduling Hard? Scheduling Principles Time vs. Effort Scheduling Methods Tracking & Control
![Page 3: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/3.jpg)
Why is Software Late?
Unrealistic deadline (external) Changing requirements not reflected in the
schedule Honest underestimation Risks not considered...
• Unforeseen technical difficulties
• Human difficulties
• Miscommunication
• Management failure
![Page 4: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/4.jpg)
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]
![Page 5: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/5.jpg)
Quotes [2]
If best estimates indicate that thedeadline 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]
![Page 6: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/6.jpg)
Coping with Unrealistic Deadlines
Perform detailed estimate based on past data Develop an incremental model that delivers
critical functionality by original deadline Explain estimate to the customer Offer incremental alternative
![Page 7: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/7.jpg)
Why Do Plans Fail? “None love the bearer of bad news”
(Sophocles)Don’t postpone making adjustments to a project in trouble!
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]
![Page 8: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/8.jpg)
Scheduling Levels
Macroscopic schedule• early; identify major activities, milestones
Detailed schedule• project underway; specific tasks identified and scheduled
Schedule drivers:• fixed delivery date (resources flexible)
• fixed resources (dates flexible)
![Page 9: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/9.jpg)
Scheduling Principles
Compartmentalization• product and process decomposition
• improves manageability
Interdependency• identify hard constraints on task scheduling
Time allocation• effort level, start/end dates
![Page 10: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/10.jpg)
Scheduling Principles [2]
Effort validation• resource loading varies day to day; are there any unrealistic
“peaks”?
Defined responsibilities• tasks assigned to individuals
Defined outcomes• tasks have specific work products
Defined milestones• review for quality, “approval”
![Page 11: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/11.jpg)
Time vs. Effort A non-linear relationship Communication overhead increases with more
people 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]
![Page 12: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/12.jpg)
Effort Distribution
40% Analysis and Design 20% Implementation 40% Testing and Evaluation Disparity between design and implementation
grows with complexity
![Page 13: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/13.jpg)
Types of Software Projects Concept development New application development Application enhancement Application maintenance Reengineering
Each type might use a different life-cycle model, task sets, teaming arrangements, etc.
![Page 14: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/14.jpg)
Degree of Rigor Casual, Structured, Strict
• Increasing level of attention to formal task sets, umbrella activities, etc.
Quick Reaction• Only tasks related to maintaining quality are applied; additional
detail (documentation, etc.) added later
![Page 15: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/15.jpg)
[Fro
m S
EPA
5/e
]
Concept Development, Linear Sequential Model
![Page 16: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/16.jpg)
[Fro
m S
EPA
5/e
]
Concept Development, Linear Sequential Model
![Page 17: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/17.jpg)
[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)
![Page 18: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/18.jpg)
Scheduling Methods Task Dependencies, Critical Path
• Task Network (macro level)
• PERT chart (micro level)
Task Concurrency, Resources• Gannt chart (timeline chart)
![Page 19: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/19.jpg)
PERT Chart
Program Evaluation and Review Technique Identify task dependencies Order tasks chronologically Link tasks in a network diagram
![Page 20: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/20.jpg)
PERT [2] Consider: Earliest start, latest start, earliest finish,
latest finish Derive critical path, insert milestones Assign resources
![Page 21: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/21.jpg)
Gantt Chart
“Timeline” view of project Different perspective
• Shows parallel activities more clearly
• Shows resource overload more clearly
• Doesn’t show dependencies as clearly
![Page 22: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/22.jpg)
[Fro
m S
EPA
5/e
]
![Page 23: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/23.jpg)
Milestones
Make them concrete and crisp Best plan is one where “developers can’t deceive
themselves”
![Page 24: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/24.jpg)
Resource Graphs
Percent allocation per employee per day Expose overflow/underflow Global view of resources over project lifetime
• Ramp-up
• Ramp-down
![Page 25: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/25.jpg)
Calendar View
Include tasks and employees Best for weekly tracking Easiest view for individuals focusing on their
own tasks
![Page 26: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/26.jpg)
Tracking and Control Periodic status meetings
• Evaluate results of reviews
• Determine if milestones are met
• Compare actual start to planned start for each task
Informal meetings with developers• Discuss individual challenges, time management techniques
• Another channel for “early warning”
![Page 27: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/27.jpg)
[From SEPA 5/e]
An Example Project Table
![Page 28: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/28.jpg)
Scheduled vs. Estimated
Carry two sets of dates in the schedule Constant variance in “estimated” times “Scheduled” times change only when necessary “Under-promise, over-deliver”
![Page 29: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/29.jpg)
Planning Lessons
A plan is only useful if it is tracked regularly and updated when necessary
Bad news is better in small, early increments
![Page 30: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/30.jpg)
Scheduling: Summary
Estimation + Risk Analysis + Scheduling = Project Plan
Begins with decomposition Task network created Time line, Critical path, Resource allocation Basis for Tracking and Control
![Page 31: Software Engineering Lecture 7: Scheduling & Tracking.](https://reader030.fdocuments.in/reader030/viewer/2022032607/56649ebb5503460f94bc2d24/html5/thumbnails/31.jpg)
Questions?