Unit 10 – Network Logic and Scheduling April 2007 | Project Management | Wilhelm F. Neuhäuser © IBM Corporation 2007 Project Management Agenda Unit 10: Network Logic and Scheduling Objectives A practical approach to project scheduling Schedule types Project scheduling Network analysis Leveling Rolling-wave planning concept Gantt chart Milestone chart Key Messages - Unit 10 2 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Objectives At the end of this module, you will be able to Define networks and schedules Identify various types of logic networks and approaches, and weigh their relative merits for specific development projects Use logic networks and scheduling approaches appropriate to their particular projects Integrate a WBS into a logic network and determine a schedule for that network Incorporate risk into scheduling considerations 3 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management A Practical Approach to Project Scheduling Working rules Time is usually the critical factor Scheduling and risk management functions are the foundation for project control You should be able to predict probable delays, initiate steps, and always include in a report Impact of the delay Steps to be taken to avoid or reduce delay "Key events" (to be defined) and milestones are to be recognized as deadlines Anyone who is not fulfilling his or her timely obligation should be immediately notified The project manager is not a "schedule mechanic" 4 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management A Practical Approach to Project Scheduling (continued) The tools Use a project management tool (like MS Project) for scheduling based on the common WBS Have internal and external suppliers, project team members, and business partners participate in the scheduling (according to the main project schedule), identify who is allocated to a task, and report on agreed-upon key events Make obligations such as submitting data, approving deliverables, and meeting other obligations, an integrated part of the project schedule Emphasize key events more than activities Strictly define events regarding contents so that cause of a delay can be concisely and quickly identified Project management is management of interfaces! 5 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Schedule Types Networking Activity-on-arrow (AOA) Precedence diagram method (PDM) Gantt chart Milestone chart 6 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Project Scheduling Tasks Start Review 1. Design 2. Build Start KEY: Review Complete In progress 3. Test 1 Tasks Approve Approve Start 2 3 4 5 7 6 Task 1 8 Network chart Gantt chart Task 2 Task 3 7 Complete Milestone chart Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Network Scheduling Schedule flows from WBS work packages' planned or actual duration Schedules may be driven by amount of resources required Schedule is a major element of project baseline (along with expense and technical considerations) Shows time to finish and activity interdependencies Provides greatest amount of information - useful for detailed analysis Two types Activity-on-arrow Precedence diagram method 8 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Essential Scheduling Data (Example) Activities and Times Activity a b c d e f g h i j k l m n 9 Initiate project Assign PM Establish constraints Form project development team Develop project schedules Prepare expense estimates Conduct process training Design integrated project file (IPF) Assign resources Prepare business case Write integrated project plan (IPP) Finalize IPP Conduct IPF training Reproduce documents Unit 10 | Network Logic and Scheduling Immediately Preceding Activity a a b d d d b c,e g f,i,j k h,g m Expected Completion Time (days) 5 2 6 12 10 9 5 9 1 2 3 9 7 8 © IBM Corporation 2007 Project Management Networks can be used for CPM and Slack Analysis Activity-on-arrow 6 c Establish constraints Start 5 a Initiate project 2 b Assign PM 12 d Form project development team 10 e Develop project schedule 1 i Assign resources 3 9 k f Write IPP Prepare expense estimate 2 5 g j Conduct Prepare process business case training 9 h Design IPF 9 l Finalize IPP Concept check point 8 n Reproduce documents 7 m Conduct IPF training 10 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Precedence Diagram Method (e) Develop project schedule Start (a) Initiate project (i) Assign resources (c) Establish constraints (b) Assign PM (d) Form PDT (f) Prepare expense estimates (l) Finalize IPP Finish check point (j) Prepare business case (m) Conduct IPF training (h) Design IPF (k) Write IPP (n) Reproduce documents (g) Conduct process training 11 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Basic Scheduling Terminology Activity: A task (work package) performed over a period of time; a specific piece of defined work from WBS Milestone: Zero time duration activity Relationships: Dependencies that exist between activities Free float: The amount of time an activity can be delayed without delaying the early start of any immediately following activities 12 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Basic Scheduling Terminology (continued) Total float: The amount of time that an activity may be delayed from its early start without delaying the project finish date Critical path: Longest time period from start to completion of a project; also the shortest total length of the project Lag: Imposed delay between the start or finish of one activity and the start or finish of another 13 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Basic Scheduling Earliest an activity can start, based on project logic Earliest an activity can finish, based on Early Start Early Start Early Finish ES EF Activity name Duration 14 LS LF Late Start Late Finish Latest an activity can start, without delaying project completion, based on Late Finish Latest an activity can finish, without delaying project completion, based on project end date Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Types of Relationships Finish Start Activity 1 Activity 2 Activity 1 must be totally finished before Activity 2 can start: traditional Example: Define requirements (Activity 1), perform DCUT - design, code, unit test (Activity 2) 15 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Types of Relationships (continued) Finish Finish Activity 1 Activity 2 Activity 2 cannot finish until Activity 1 finishes Example: Activity 2 (reviewing the high-level design) cannot be finished until Activity 1 (writing the high-level design) is finished 16 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Types of Relationships (continued) Start Start Activity 1 Activity 2 Activity 2 cannot start until Activity 1 begins; a lag of n time units can be defined Example: Reviewing the specifications (Activity 2) can begin after writing the specifications (Activity 1) begins 17 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Hard Coding Relationship Constraints Start no earlier than (SNET) Start no later than (SNLT) Finish no earlier than (FNET) Finish no later than (FNLT) Must start on (MSO) Must finish on (MFO) 18 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Using the Hard Constraints Cautions They will override the normal critical-path calculations They remove naturally occurring float in your schedule Useful for Creating milestone charts Positioning activities to eliminate excessive float 19 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Network Calculations Forward pass through the network (beginning at project start) determines Early Start and Early Finish for each activity Backward pass through the network (beginning at project finish) determines Late Finish and Late Start for each activity 20 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Forward Pass Established: Project Start date Project Start date is the Early Start date for first network activity Work from left to right, top to bottom of the network When an activity has multiple predecessors (P), select highest Early Finish date as Early Start date of successor (S) Calculations ESP + Duration = EFP EFP + Lag = ESS 21 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Forward Pass (continued) Full precedence diagram ES 1 EF 8 ES 8 EF 14 ES 14 EF 17 LS LF LS LF LS LF Duration=7 Task A Duration=6 Task C Duration=3 Task G ES 17 EF 19 Duration=2 Task H Start LS ES 1 EF 4 Duration=3 Task B LS LF ES 4 EF 7 Duration=3 Task D LS LF ES 4 EF 6 LS LF ES 7 Finish LF EF 10 Duration=3 Task E LS LF Duration=2 Task F 22 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Backward Pass Established: Project Finish date (from last activity in Forward Pass) Project Finish date is the Late Finish date for last network activity in the Backward Pass Work from left to right, top to bottom of network When a predecessors (P) has multiple successors (S), select the lowest Late Start date as the Late Finish of the predecessor Calculations LFS - Duration = LSS LSS - Lag = LFP 23 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Backward Pass (continued) Full precedence diagram ES 1 EF 8 ES 8 EF 14 ES 14 EF 17 1 LS 8 LF 8 LS 14 LF 14 LS 17 LF Duration=7 Task A Duration=6 Task C Duration=3 Task G ES 17 EF 19 Duration=2 Task H Start 17 LS ES 1 EF 4 Duration=3 Task B 8 LS 11 LF ES 4 EF 7 Duration=3 Task D 11 LS 14 LF ES 4 EF 6 12 LS 14 LF ES 7 Finish 19 LF EF 10 Duration=3 Task E 14 LS 17 LF Duration=2 Task F 24 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Float/Slack Float = Late Finish - Early Finish or Float = Late Start - Early Start Float/Slack > 0 (time is available) Float/Slack = 0 (path is critical) Float/Slack < 0 (project is behind schedule/critically late) 25 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Critical Path Longest of all paths through the project Shortest time to complete the project Path with least float/slack time 26 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Process for Computing Critical Path Network Schedule Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9 Step 10 Step 11 Step 12 Step 13 Step 14 Step 15 27 Establish a "begin" activity Identify all activities that can begin immediately (that is, that have no predecessors) Identify what, as a result of the activities being started/completed, can now start/end Complete process until all predecessors and successors have been identified Make "end" the final activity Calculate the forward pass; when multiple dates must be passed forward, select the latest date Establish the natural end date of the project Calculate the backward pass; when multiple dates must be passed backward, select the earliest date Calculate float Identify the critical path and paths with low levels of float Restrict the project by adding any intermediate end date constraints Recalculate the backward pass Recalculate float Identify the critical path and paths with low levels of float Use networking techniques to eliminate any negative float Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Benefits of Critical Path Method Shows explicit relationships Coordinates "big picture" Lays out flow of work Encourages careful task analysis 28 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Exercise: Precedence Diagram Method 12 14 8 B D G FS+6 8 14 12 A H I 16 13 C E 19 SS+10 F 1. Calculate the forward and backward passes 2. Identify the critical path 3. Calculate the float for each path 29 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Network Analysis Is the critical path what I expected? How much float is in the schedule? Do I need to do anything about it? Should activities with large amounts of float be rescheduled? Are there any near-critical paths? What risks are on the critical path? Danglers No predecessor? No successor? 30 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Network Analysis (continued) Analyze against target costs and schedule Resource usage Overallocated ? Availability ? 31 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Making Up Time in a Schedule During Planning Change the relationships among tasks so that the critical path is shorter (fast tracking) Do tasks in parallel, instead of sequentially Contract out tasks that are being done in series because of lack of available personnel Change approach to work, creating a different set of interrelated tasks with shorter critical path Change a Finish-Start relationship to a Finish-Finish relationship Change a date constraint so a task on the critical path can start or end sooner 32 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Leveling Resource leveling Schedule the project inn such a way as to use resources most effectively Schedule the project to minimize idle time for resources Avoid committing resources in such a way that exceeds resource capacity 33 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Leveling (continued) Resource allocation leveling Distribution of resources to the schedule Resource constraints vs. time constraints Priority rules for resource allocation Examples of resource allocation Use of analysis of resource histograms 34 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Resource Utilization 1 Weeks Tasks Initiate project 1 2 2 Assign PM 3 Establish constraints 2 Form project development team 3 4 5 6 7 9 Total 2 3 2 4 4 4 8 Develop project schedules 2 2 4 Prepare expense estimates 2 2 4 Conduct process training 4 Design integrated project file (IPF) 4 3 3 Prepare business case 4 Write integrated project plan (IPP) 4 3 Finalize IPP 3 3 3 6 Conduct IPF training 3 3 Reproduce documents 4 4 Totals 35 8 2 Unit 10 | Network Logic and Scheduling 5 9 4 8 8 10 3 3 52 © IBM Corporation 2007 Project Management Resource Histogram 1 10 Number of Resources (max = 8) 8 6 4 2 0 1 2 3 4 5 6 7 8 9 Weeks 36 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Review Float Late Start/Late Finish dates 1 2 3 4 Assign PM 6 7 8 9 Establish constraints Float Initiate project 5 Form project dev. team Float Develop project schedule Write IPP Finalize IPP Design IPF Prepare expense estimate Float Conduct IPD training Prepare business case Float Conduct IPF training Float 37 Unit 10 | Network Logic and Scheduling Reproduce documents © IBM Corporation 2007 Project Management Resource Utilization 2 Weeks Tasks Initiate project 1 2 Assign PM 2 3 4 5 6 7 8 3 2 Form project development team Total 2 3 Establish constraints 4 2 4 4 8 Develop project schedules 2 2 4 Prepare expense estimates 2 2 4 4 4 Conduct process training Design integrated project file (IPF) 3 3 Prepare business case 4 4 Write integrated project plan (IPP) 3 3 Finalize IPP 3 Conduct IPF training 3 Reproduce documents Totals 38 9 2 Unit 10 | Network Logic and Scheduling 3 4 9 6 8 7 6 3 6 3 4 4 7 52 © IBM Corporation 2007 Project Management Resource Histogram 2 10 Number of Resources (max = 8) 8 6 4 2 0 1 2 3 4 5 6 7 8 9 Weeks 39 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Rolling-Wave Planning Concept Detailed planning of entire project may not be practical or possible Plan finite increments at outset based on project phases (work packages of early efforts, planning packages beyond) Expand the detailed planning window as each project phase is completed; for longer project phases, plan in increments of 90 days The planning window will vary based on size, length, complexity, and type of development project (for example, new, derivative, refresh) Remember to include planning time in project plan 40 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Gantt Chart Shows start, finish, and duration of various activities Easiest schedule to make Most common scheduling tool Provides tremendous amounts of information very useful for analysis Most understandable for people lacking formal project management training Software capabilities greatly enhance usefulness for analysis 41 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Sample Gantt Chart 42 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Milestone Chart Reflects project status of key events over time Activity Concept Checkpoint Plan Checkpoint DCUT start SVT start Delivery to customer January 43 Unit 10 | Network Logic and Scheduling February March April May June © IBM Corporation 2007 Project Management Before Finalizing Schedule, Examine... Roles: Is there a complete set of roles for each task? Actions: Add roles where needed People: Who will fill these roles? Action: Assign people Skills: Do the people assigned possess the needed skills? Action: Add or change people or re-estimate the duration to allow time to improve skill levels Availability: When will the people really be available? Action: Reschedule around nonavailable time Action: Change utilization assumptions to adjust duration Action: Add more people 44 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Key Messages Time is usually a critical factor in development projects A variety of tools can evaluate and map out schedules Project managers must know how to evaluate their schedules and the potential for schedule improvement 45 Unit 10 | Network Logic and Scheduling © IBM Corporation 2007 Project Management Exercise: Precedence Diagram Method 12 14 8 B D G FS+6 8 14 12 A H I 16 13 C E 19 SS+10 46 Unit 10 | Network Logic and Scheduling F © IBM Corporation 2007