Project Scheduling Project Scheduling (PS) To determine the schedules to perform the various activities (tasks) required to complete the project, subject to all constraints such as the technological limits on the activities of the project, the availability of resources and budget, and the due date requirements. Project Scheduling SEEM 3530 2 Important Questions on Time 1. If each of the activities goes according to plan, when will the project be completed ? 2. Which activities are most critical to ensure the timely completion of the project ? 3. Which activities can be delayed, if necessary, without delaying project completion, and by how much ? 4. Specifically, at what times should each activity begin and end ? Project Scheduling SEEM 3530 3 Trade-off between Time and Money 1. At any given time during the project, what is the range of dollars that should be spent ? 2. Is it worthwhile to incur extra costs to accelerate some of the activities ? Project Scheduling SEEM 3530 4 Main PS Approaches When activity times are deterministic, Critical Path Method (CPM) is applied When the time to complete a task as a random variable, Program Evaluation and Review Technique (PERT) is adopted . Both approaches work on a project network, which graphically portrays the activities of the project and their relationships. Linear Programming (LP) is also used when there are other constraints e.g. resource limitations. Project Scheduling SEEM 3530 5 CPM Analysis: Network Approach A network approach, to model the activities and their precedence relationships, and to perform scheduling analysis based on the network Activity-on-node approach: use a node to represent an activity. Activity-on-arrow approach: use an arc to represent an activity. Project Scheduling SEEM 3530 6 Network Construction A node represents an activity of the project An arc represents the precedence relationship between activities (i.e. indicating that an activity must be finished before the “following” activity can start). Project Scheduling SEEM 3530 7 Rules to Construct Project Network Rule 1. Each activity is represented by one and only one node in the network. Rule 2. As each activity is added to the network, use arcs to represent precedence: Which activities must be completed immediately before this activity can start ? Which activities must immediately follow this activity? Rule 3. All activities that have no predecessors should be connected to a common start node, while all activities that have no successors should have a common end node. Project Scheduling SEEM 3530 8 Rules to construct AON networks There should be a single start node and a single end node to identify these milestones. All nodes, except the end node, must have at least one successor. All nodes, except the start node, must have at least one predecessor. No arrows should be left dangling. Every arrow must have a head and a tail. An arrow specifies only the precedence relations; its length has no significance with respect to the time duration of either of the activities it connects. Cycles or close-loop paths through the network are not permitted. They imply that an activity is a successor that depends on it. Project Scheduling SEEM 3530 9 Example: Construct Project Network Project Scheduling SEEM 3530 10 Rules to Construct Project Network The process begins by identifying all activities that have no predecessors and joining them to a unique start node: A C B E Project Scheduling SEEM 3530 11 Rules to Construct Project Network Before starting activity F, activities C, E, and D must be completed. Therefore, an arc should be introduced to represent the precedence relationships of these activities: A B Project Scheduling D F SEEM 3530 G End 12 Example: Network Construction A project has activities A,B,C,…, L, which have the following relationships: A, B, and C, the first activities of the project that can start simultaneously. A and B precede D. B precedes E, F, and H. F and C precede G. E and H precede I and J. C, D, F, and J precede K. K precedes L. I, G, and L are the terminal activities of the project. Project Scheduling SEEM 3530 13 Example: Project Network Project Scheduling SEEM 3530 14 Questions to be Answered by PS 1. 2. 3. 4. If each of the activities goes according to plan, when is the earliest time that the project can be completed ? Which tasks are the bottleneck (critical) tasks that directly affect the timely completion of the project ? Which “non-critical” tasks be delayed, if necessary, without delaying project completion, and by how much ? What should be the scheduled start and finish times for each activity? …... Project Scheduling SEEM 3530 15 Answer Approach Determine the earliest start time and the latest finish time that each activity can take place to complete the project at the earliest possible time. Project Scheduling SEEM 3530 16 Terms Used in Scheduling Earliest Start time, ESj, of activity j is defined as the earliest time at which the activity can start, provided all previous activities were completed at their earliest possible times. Latest Finish time, LFi, of activity i is defined as the latest time at which the activity can be completed without delaying the (earliest) completion of the project. Project Scheduling SEEM 3530 17 Terms Used in Scheduling Earliest Finish time, EFj, of activity j is defined as the earliest time at which the activity can finish, provided all previous activities were completed at their earliest possible times. Project Scheduling SEEM 3530 18 Calculating early start and early finish times A forward pass is used to determine the earliest start (ES) time and the earliest finish (EF) time for each activity: ES(K) = max{EF(J): J is an immediate predecessor of K} EF(K) = ES(K) + L(K), where L(K) denotes the duration of activity K. Project Scheduling SEEM 3530 19 Example: Activities and Network Project Scheduling SEEM 3530 20 A B Project Scheduling D F SEEM 3530 G n 21 Example: Calculating Earliest Times ESj = max i{ ESi + Li } -------------------------------ESA = ESB = ESC = ESD = ESE = ESF = ESG = -------------------------------Project Scheduling What is the earliest project completion time? SEEM 3530 22 Example: ES(K) = max{EF(J): J an immediate predecessor of K} -------------------------------ES(A)=ES(B)=ES(E)= 0. EF(A)=5, EF(B)=3, EF(E)=7 ES(C)=EF(A)=5, EF(C)=5+8=13 ES(D)=max{EF(A), EF(B)} =max{5, 3}=5. EF(D)=5+7=12 ES(F)=max{EF(C), EF(D), EF(E)} =max{13, 5, 7}=13 EF(F)=13+4=17 ES(G)=17, EF(G)=17+5=22 ---------------------------------------- A B D F G End Note: The above shows that the earliest time that the project can be finished is 22 weeks. Project Scheduling SEEM 3530 23 Early start and early finish times: An example Project Scheduling SEEM 3530 24 Terms Used in Scheduling Latest Start time, Ti, of activity i is defined as the latest time at which the activity can start without delaying the (earliest) completion of the project. Latest Finish time, LFi, of activity i is defined as the latest time at which the activity can be completed without delaying the (earliest) completion of the project. Project Scheduling SEEM 3530 25 Calculating late finish times of activities A backward pass is used to determine the latest start (LS) time and the latest finish (LF) time for each activity. z Let LFEnd = ESEnd (earliest project completion time) or, if there is a due date, d, for the project, and d > ESEnd,, then LFEnd can be set as d. LF(K) = min{LS(J): J is a successor of K} LS(K) = LF(K) - L(K), where L(K) denotes the duration of activity K. Project Scheduling SEEM 3530 26 Example: LF(K) = min{LS(J): J is a successor of K} -----------------------------------LF(G)=EF(G)=22; LS(G)=22-5=17. LF(F)=LS(G)=17; LS(F)=17-4=13. LF(C)=LS(F)=13; LS(C)=13-8=5. LF(D)=LS(F)=13; LS(D)=13-7=6. LF(A)=min{LS(C), LS(D)} =min{5, 6}=5; LS(A)=5-5=0. LF(B)=LS(D)=6; LS(B)=6-3=3. LF(E)=LS(F)=17; LS(E)=17-7=6. ------------------------------------------- Note: If there is a due date d, then: LF(G)=max{EF(G), d}. Project Scheduling SEEM 3530 27 Late start and late finish times: An example Project Scheduling SEEM 3530 28 Activity Slack Slack of an activity is defined as the difference between the latest start (finish) time and the earliest start (finish) time of the activity. Project Scheduling SEEM 3530 29 A Critical Path If the earliest time and the latest time for an activity is equal, the activity has zero slack. It means that this activity cannot be delayed If all activities on a path have zero slack, it is a critical path – no activity along this path can be delayed. Project Scheduling SEEM 3530 30 Example: Finding a Critical Path Identify the path(s), of which all activities have zero slack. Project Scheduling SEEM 3530 31 Example: Finding a Critical Path For the example, the activities: A, C, F, and G have zero slack and thus the path (1 - A - C - F – G - n) is a critical path of the project. No activity along this path can be delayed. Project Scheduling SEEM 3530 32 Use Slack to Find a Critical Path To identify the critical path of a project, we can use the following simple method: 1. Compute the slack for each activity in the network. 2. Connect the activities that have zero slacks. The path(s) generated is a (are) critical path(s). Project Scheduling SEEM 3530 33 Properties of Critical Paths z A critical path is a sequence of activities that establishes the earliest project completion time. z The delay of any activity on a critical path will cause a delay of the completion of the entire project. z A critical path is a longest path (w.r.t. time) through the network. The length (in time) of a critical path represents the shortest duration of the project. z Any increase in the duration of an activity on a critical path results in the same increase in the duration of the project. z Every project network has (at least) one critical path. Some networks have several critical paths, but all critical paths are of the same length. Project Scheduling SEEM 3530 34 Managerial Use of Activity Slacks Information about the amount of slack in each activity is very important for the project manager, as this will allow him/her to know which activity can be delayed without delaying the completion of the project. After knowing which activities could be adjusted, he/she could adjust accordingly the budgets and resource allocations so as to make the project to stay on schedule. He/she could also determine whether he/she could reduce the resources needed to meet the project completion due date. Project Scheduling SEEM 3530 35 Free Slack and Total Slack 1. Free slack denotes the amount of time that an activity can be delayed without delaying both the start of any succeeding activity and the completion of the project. 2. Total slack denotes the amount of time that the completion of an activity can be delayed without delaying the completion of the project. Project Scheduling SEEM 3530 36 Calculating Total Slacks The total slack (TS) of an activity is calculated as the difference between its late start (or finish) and its early start (or finish) times. TS(K) = LS(K)-ES(K), or = LF(K)-EF(K). Note: This is equivalent to the difference between the maximum amount of time we can use to perform the activity and the duration of the activity. (Total slack: the maximum slack to delay an activity). Project Scheduling SEEM 3530 37 Calculating Free Slacks The free slack (FS) of an activity is calculated as the difference between the earliest start time of its successors and its early finish time. FS(K) = min{ES(J): J is a successor of K} - EF(K). (Free slack: the maximum slack to delay an activity without delaying the start of the succeeding activities). Project Scheduling SEEM 3530 38 Slacks: An example --------------------------------------------------Activity Total slack Free slack Start 0 0 A 0 0 B 3 2 C 0 0 D 1 1 E 6 6 F 0 0 G 0 0 End 0 0 --------------------------------------------------Project Scheduling SEEM 3530 39 Effect on Succeeding Activities If an activity is delayed within its free slack, no notification to its successors is required to be made. If an activity is delayed longer than its free slack but shorter than its total slack, its successors must be informed as this will affect the slacks of the successors. Project Scheduling SEEM 3530 40 Critical Path Method (Recap): 1. 2. 3. 4. 5. 6. Define the project and all its significant activities. Determine which activities must precede and/or follow others. Draw the network connecting all the activities. Assign time estimates to each activity. Find the critical path. Determine project duration, critical activities, slack, etc. Project Scheduling SEEM 3530 41 Activity Start and Finish Times ESi = Earliest start time of activity i, which is defined as the earliest time that the activity can start without violating any precedence relation. EFi = Earliest finish time of activity i, which is defined as the earliest time that the activity can finish without violating any precedence relation. LSi = Latest start time of activity i, which is defined as the latest time that the activity can start without delaying the completion of the project. LFi = Latest finish time of activity i, which is defined as the latest time that the activity can finish without delaying the completion of the project. Project Scheduling SEEM 3530 42