Lecture 11 (Scheduling)
Transcript of Lecture 11 (Scheduling)
Lecture 11 (Scheduling)
Dr. Sheela Ramanna
Applied Computer Science
University of Winnipeg
This class-Chapter 14 and 15
Introduction and TerminologyCompetencies and Definitions, SDLC Chap.1 and 3 Jan 7 Selecting SDLC -- Review of Process Models Chap. 4 Jan 12 Process Models Jan 14
Planning and OrganizationProject Teams and Roles --Team Selection Chap.6, 12, 29 Jan. 19 Project Planning and WBS – Proj.Proposal/Charter Chap.7 and 8 Jan. 21 Tasks, Activities -- Project Plan Creation +Review Chap. 9 Jan. 26
Quiz 1 Jan. 28 Software Sizing – Size Estimation Models Chap.10 Feb. 2
Software Sizing – Size Estimation Models Feb 4 Estimating Duration and Cost Chap. 11 Feb 9
Estimating Duration and Cost Feb.11
Reading Week Break Feb. 14-20
Problem Solving Class – Sizing and Estimation Feb. 23
Quiz 2 Feb. 25
Scheduling – PERT/CPM Scheduling Models Chap. 14 and 15 Mar. 2
Requirements Specification—Creating SSR Chap. 16 and 17 Mar. 4 Problem Solving Class -PERT Mar. 9
Risk Management – Quantitative Risk Assessment Chap. 18 Mar. 11 Software Metrics –Product and Process Metrics Chap. 21 Mar.16 Software Metrics Metrics Continued Chap. 21 Mar. 18 Problem Solving Class -Metrics Mar. 23
V&V- Testing strategies, test coverage and path measures
Chap. 23 Mar. 25
Monitoring and ControlProject Tracking and Control Chap. 25 Mar. 30
SQA and SCM Chap. 30, 31 April 1 Problem Solving (V&V) + Review April 6
Why a schedule
It reflects all the relationships of activitiesas best understood by a team mapped into a real-world calendar and includes true productive working hours allows for inevitable uncertainty
A planned schedule is “just” a team’s best guess of the future
Number of ways to represent a schedule Table (non-graphical and is a list of activities with a start
and finish date) GANTT (graphical and provides a good high-level view of
the project schedule (phases/sub phases) PERT/CPM can be used for analysis of a schedule. Also
called as networking diagrams that can be used to show precedence)
Process for building a “real” schedule
1. Develop the WBS What activities must be done
Who will do each one
[What materials/supplies are required? How much will it cost] -- costing aspect
2. Identify activity dependencies What can be done first? What can be done next?
Parallel activities
3. Develop a network diagram (PERT) from WBS and dependency information
4. Do CPM analysis computations (time) ED, ECT, LCT Is the total project durations acceptable?
5. Find and analyze critical path activities6. Perform resource allocation7. Convert the network to Gantt chart
Scheduling- considering dependencies
Dependencies are any relationship connections between activities in a project that may impact the schedule One form of constraint
Is a product oriented WBS sufficient to understand all dependencies? WBS shows only hierarchical ones
(not cross-branch)
A project team must find as many dependencies as possible amongst activities
A B
Activity
External vs. Internal
Activity limited vs. Resource limited
External dependencies
These would include any connections to work products of other projects
Source of external dependencies Stakeholders
Suppliers
Outsourcing
Dependency on another project’s schedule where there is little or no control
Best shown as a milestone
Internal dependencies
These would include any connections to activities within the project. These tend to be project specific
Direct result of relationships between components in a product-oriented WBS
Examples: Project plan sign-offs and approvals
Finish to Start DependencyActivity Dependency
Most common type of dependency
Ex: “build tests” must finish before “execute tests”
Usually the default relationship for “linked” activities in most PM tools
A B
FS
Start to Start Dependency
Activity B starts when Activity A starts
Set of simultaneous activities based on a trigger event
Ex: Activity A: Interview Users
Activity B: Review Standards
A
B
SS
Finish to Finish Dependency
Activity B cannot be finished until Activity A is completed
These tasks must finish at the same time
Ex: Activity A: Project Completion Seminar Activity B: System Demonstration
A
B
FF
Special Types of Relationships
Lag and lead modifiers
Start or finish of one of the dependency types is slipped-out (lagged) or pulled-up (led) by a certain time period
That is Activity C cannot start until 10 days after Activity A has finished
A BFS
C
+10 (lag)
Prepare for Interview
Conduct Interview
ReviewModeling
techniques
Identifying dependencies-Summary
- Brainstorm activity list-Find all affinity groups-Find highest level WBS-Capture WBS representation-Find dependencies
Tabular representation of a schedule
Task Task Estimated Actual Estimated Estimated Actual Actual Assigned Performed
No Title Hours Hours Start Date Complete Date Start Date Complete Date
To By
1.1 Plan organize, and Control
20.00 10-Sep-99 8-Oct-99 CJ,MM
1.2 Team meetings 20.00 10-Sep-99 8-Oct-99 TEAM
1.3 Review Team Roles 2.00 14-Sep-99 19-Sep-99 TEAM 1.4 Review Repositories 18.00
1.5 Initial User meeting 21-Sep-99 25-Sep-99 TEAM
1.5.1 Prepare Questions 10.00 21-Sep-99 22-Sep-99 TEAM
1.5.2 Prepare for User Meeting
2.00 21-Sep-99 22-Sep-99 TEAM
1.5.3 Conduct User Meeting
3.00 23-Sep-99 23-Sep-99 TEAM
1.5.4 Review User Meeting
15.00 24-Sep-99 25-Sep-99 TEAM
1.6 Project Proposal
1.6.1 Draft Proposal 20.00 24-Sep-99 27-Sep-99 CJ,MM
1.6.2 Review Proposal With Director
2.00 28-Sep-99 28-Sep-99 CJ
1.6.3 Revise Proposal 6.00 29-Sep-99 29-Sep-99 CJ,MM
1.6.4 Deliver Proposal to User
2.00 30-Sept-99 30-Sept-99 CJ,MM,FD
1.7 Project Plan
1.7.1 Draft Project Plan 15.00 28-Sep-99 1- Oct-99 CJ,MM
1.7.2 Review Plan With Director
2.00 3-Oct-99 3-Oct-99 CJ
1.7.3 Revise Plan 2.00 6-Oct-9 8-Oct-99 CJ,MM,FD
1.8 Repositories
1.8.1 Prepare Binder Filing material with IS Director
1.00 8-Oct-99 8-Oct-99 FD
1.9 Contingency Tasks 10.00 TEAM
Total 150.00
Gantt Charts
Developed by Henri Gantt (1903) for planning and controlling military campaigns
Useful for simpler projects Popular because of its simplicity and depicts the
schedule on a very high level Does not show dependencies well
Especially when there are complex dependencies between a large number of tasks
It does show time overlap and visually shows the duration of a task
It is activity (task) driven It can be shown either manually or using a tool (ex:
Microsoft Project)
Gantt Chart for SDLC - High Level
Sep Oct Nov Dec Jan Feb Mar Apr
1. Initiation 2. System Study 3. Detailed Design 4. Implementation 5. Installation 6. Maintenance
Tracking Progress with Gantt Charts
Sep Oct Nov Dec Jan Feb Mar Apr
initiation system study design implementation installation maintenance
Today
Case Tool
SOFTWARE DEVELOPMENTTASKS November December January February March April May June
Needs analysis
Preliminarydesign
Project approval January5
GUI designedand created
Programming
Alpha testing
Documentation
Beta testing
Final QAanalysis
Web site design
Release June 18
Gantt Chart with Milestones
Sep Oct Nov Dec Jan Feb Mar Apr
1. Initiation 2. System Study 3. Detailed Design 4. Implementation 5. Installation 6. Maintenance
MONTHS
TASKS StartDate
Enddate March April May June July August Duration
(days) Cost
Contractwriting 3/01 3/30
4/082938
$50,000$54,901
Contractsigning
4/044/09
4/044/09 1 $400
Securefinancing
4/044/09
4/105/04
625
$3,500$6,234
Obtainpermits
4/044/09
4/175/01
1322 $1,200
Site work 4/105/01
6/286/07
7937
$1,500,000$1,200,000
Plumbing 6/286/07
7/207/03
2226 $43,000
Electricity 6/286/07
7/20 2243
$36,000$51,050
Roof 7/20 8/108/05
2116
$23,000$22,548
Inspection 8/108/05
8/108/05 1 $1000
Move in 8/24 8/24 1
RESIDENTIAL CONSTRUCTION
LEGENDPlanned duration
Actual duration
Planned milestone
Actual milestone
Planned
Actual
GANTT CHARTGantt charts can show the difference between the planned and actual duration of tasksto aid in the analysis of the project development process. Gantt charts can also show the costassociated with each task and the persons or departments responsible for each task.
Qtr 1 Qtr 2 Qtr 3 Qtr 4
Project Steps: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Explore Market Need
Develop Concept for Product
Begin Development Cycle
Develop GUI
User Interface Test Evaluation
Alpha Version Release
Quality Assurance Testing Phase 1
Fix Outstanding Problems from Alpha
Beta Version Release
Quality Assurance Testing Phase 2
Fix Outstanding Problems from Beta
Design Box and CD Labels
Begin Advance Advertising Campaign
FCS Preparation
Final Quality Assurance Testing
FCS Release
Production and Packaging
Project Development Schedule
Development
QA Testing
Marketing
Box Art
Milestones
PERT(Project Evaluation and Review Technique) Charts
Developed in 1950s to plan and control large weapons development
Used to show status of projects and control schedule slippage
Three estimates are made for each task
most-likelyBest (Optimistic)Worst(pessimistic)
A PERT chart shows events and tasks
PERT Charts – One representation
Nodes represent activities
Each node has 3 representations of time
ED (Estimated Duration), ECT (Earliest Completion Time) and LCT (Latest Completion Time)
Duration could be hours, days, weeks months or years
Arrows represent dependency
Dummy node is a synchronizing task/activity with duration of 0.
Notation used by most CASE tools
CASE Interpretation- PERT Chart
ED= 4ED=3
ED=6 ED=2
ED=6
ED=2ED=2
ECT=4LCT=4
ECT=7LCT=7
ECT=6LCT=6
ECT=13LCT=13
ECT=8LCT=19
ECT=19LCT=19
ECT=15LCT=19
ECT=19LCT=19
A
ED=0
B
C
D
E
F
G
Dummy
ED, ECT and LCT Computation Expected Duration
ED =( OT + (4* MLT) + PT) / 6
where OT - Optimistic time and PT - Pessimistic time and MLT - Most likely Time
ECT(n) - Earliest Completion Time of node (n)
largest ECT of connected preceding tasks + ED of task on node n
LCT (n) - Latest Completion Time
smallest ECT of connected succeeding event - ED of task on smallest n+1th node
Calculation of ECT
ECT - is calculated starting from node 1 to node n.
First node: ECT(A) = 4 and LCT (A) = 4
ECT(B) = largest ECT of connected preceding tasks + ED of task on node n ECT(B) = ECT (A) + 3
ECT(B) = 7
ECT(C) = 4 +2
ECT (G) = ECT(D) + 6
= 13+6 = 19
ECT (Dummy) = max (ECT(F), ECT(G), ECT(E)) + 0
= 19+0
Calculation of LCT
LCT - is calculated starting from node n to node 1. Last node: LCT (Dummy) = ECT(Dummy) = 19
smallest ECT of connected succeeding event - ED of task on smallest n+1th node
LCT (F) = 19-0
LCT (G) = 19-0 and LCT(E) = 19-0
LCT (D) = Min (ECT(F), ECT(G))
= Min (15,19) - ED of task on smallest n+1th node
= 15-2 = 13
PERT Charts (Network Diagram)
Useful in planning (estimated times)
Useful in control (critical path tasks can be monitored carefully)
Its chief drawback is that it cannot show overlap but does show which tasks can be done in parallel
Uses an assembly line approach
Hence the combination of PERT and GANTT charts are more effective
PERT Charts- Other Features
Allows calculation on probabilities for accomplishing a task on or before a certain date
Designed to produce continuous program evaluation
RISK:
Excessive number of activities scheduled in parallel
For large projects (with many activities), the diagram can get “messy”
Critical Path Method (CPM)
Focus is on the idea of “float”
It is a path that has no slack time built in
Slack time = LCT - ECT
That is every node on the path has its ECT=LCT
Significance:
If any task on the critical path is delayed, then the whole project is delayed
Is a sequence of dependent tasks that have the largest sum of estimated durations.
CASE TOOL SYMBOLS -PERT
TASK
Assigned to:
BT WT AT
TASKAssigned to:
Optimumduration
TASKS
Assigned to
BT WT AT
TASK
Optimumduration:
BT WT AT
Persons responsible
TASKS
TASKPerson(s)
ResponsibleBT WT AT
day day day
Event Symbol
BT- Best TimeWT – Worst TimeAT – Average Time
1
2
3
4
6ACTIVITIES
a Code game engine
b Brainstorm and develop rules
c Design the interface
d Integrate rules in code
e Integrate interface with code
f Debug
g Write user manual and help files
h Design and create additional monsters
i Design special effects
j Integrate monsters with code
k Integrate special effects
l Design and write web site
m Launch web site
n Package game, produce CDs
- GAME DESIGN
5
7
EVENTS1 Project start
2 Game Rule Specifications
3 User Interface Specifications
4 Game Engine Code Complete
5 Additional Monsters Added
6 Special Effects Added
7 Quality Assurance Testing
8 Documentation
9 Web Site Design
10 Release
8
9
10a
b
c
d
ef g
h
i
j
k
l m
n
Critical tasks
Non - Critical tasks
Events
CRITICAL PATH METHOD(CPM) ORCRITICAL PATH ANALYSIS (CPA)
In this CPM or CPA, the eventsand activities are coded in lettersand numbers. The critical tasksshould be bold or red to drawattention to them.
Coded Chart
LabeledChart
ET- Earliest TimeLT- Latest Time
Week 1 Week 2 Week 3 Week 4 Week 5
DESIGNAngela, Rob, JuliaBT WT AT
1 day 5days
3days
BUY CLAY Rob
BT WT AT
1 day 3days
2days
BUY GLAZEJulia
BT WT AT
1 day 3days
2days
GROUP SCULPTURE PROJECT
SCULPT CHAIR Angela
BT WT AT4
days10
days7
days
SCULPT BODY Rob
BT WT AT6
days12
days9
days
GLAZEJulia
BT WT AT
1 day 3days
2days
SELLAngela, Rob, JuliaBT WT AT
1 day 5days
3days
BT= Best time WT= Worst time AT=Average Time
Time Scaled
Visit Client
CRITICAL PATH METHOD(CPM) ORCRITICAL PATH ANALYSIS (CPA)
Analyze data
Conduct interviews
Identifyproblems
Research solutions
Critical Tasks
Normal Tasks
Events
Outlineplan
FinalizeSolution
Organize and Consolidate
PresentSolution toClient
CONSULTING PROJECT
A CPM or CPA chart defines the longest sequence ofdependent tasks that leads to the completion of a project.These charts are modified PERT and Gantt charts that drawattention to the fact that any delay along a critical path oftasks will lead to a delay in the project. Tasks critical to thecompletion of the project are usually indicated by boldor red colored arrows.
Resource Leveling
When all the activities from the WBS are scheduled using the PERT/CPM technique, the next step is to assign resources (e.g., people) to the activities
Load leveling is the process of rescheduling tasks that have available slack to achieve a more balanced distribution of resource usage
Based on linear programming or other mathematical techniques
Mapping a schedule to a real calendar
Four major components of any scheduled activity needs to be considered Work – Staff-days of estimated effort to complete
the activity ( e.g., design an administrator screen –24 staff days)
Units – Number of resources (people) needed to perform the activity – (e.g, 4 team members)
Duration – Actual number of workdays needed for the resources (units) to perform the work(e.g., 24/4 = 20 workdays)
Dates - Calendar days assuming 5 working days/per week – 4 weeks)
PERT Chart Information
PERT
1
2
3
4
5
6
8
7