Project Scheduling PDF

Document Details

DelightfulGardenia

Uploaded by DelightfulGardenia

adolfo villafiorita

Tags

project scheduling project management software project management project planning

Summary

This document provides an overview of project scheduling, focusing on activities, dependencies, resource allocation, and critical path techniques. It includes diagrams and examples to illustrate aspects of project scheduling such as critical path method (CPM).

Full Transcript

Project Scheduling Goals of the Unit Making the WBS into a schedule Understanding dependencies between activities Learning the Critical Path technique Learning how to level resources spm - ©2014 adolfo villafiorita - introduction to software project management 2 Initiat...

Project Scheduling Goals of the Unit Making the WBS into a schedule Understanding dependencies between activities Learning the Critical Path technique Learning how to level resources spm - ©2014 adolfo villafiorita - introduction to software project management 2 Initiate Plan Execute & Close Monitor Assess Formalize Collect Close Feasibility Goals Outputs Monitor Goals, Cost and Develop Release Schedule Define Kick Off Schedule Activities Define Costs [Obtain Approval] Change Control & Configuration Management Quality Management Risk Management Human Resource Management Overview We have: – A WBS (activities) – Effort (duration) estimations for each element of the WBS We want to schedule activities, so that we know when each activity starts and ends, when we need resources, when we deliver Process: – Identify constraints (dependencies) – Allocate and level resources – Find the critical path and iterate till the plan is satisfactory Output: Gantt Chart spm - ©2014 adolfo villafiorita - introduction to software project management 4 Plan Schedule Management Planning Schedule Management Elements of a schedule management plan Project schedule model development Scheduling methodology Level of accuracy and units of measure Control thresholds Rules of performance measurement Reporting formats Process descriptions Information Technology Project Management, Ninth Edition. © 2019 Cengage. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Define Activates Activity List Defining Activities (1 of 2) Defining activities involves identifying the specific actions that will produce the project deliverables in enough detail to determine resource and schedule estimates Activity list: a tabulation of activities to be included on a project schedule Activity name, activity identifier or number, and brief description of the activity Activity attributes provide more information Predecessors, successors, logical relationships, leads and lags, resource requirements, constraints, imposed dates, and assumptions related to the activity Information Technology Project Management, Ninth Edition. © 2019 Cengage. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Defining Activities (2 of 2) A milestone is a significant event that normally has no duration It often takes several activities and a lot of work to complete a milestone They’re useful tools for setting schedule goals and monitoring progress Examples: obtaining customer sign-off on key documents or completion of specific products Information Technology Project Management, Ninth Edition. © 2019 Cengage. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. The modern Gantt chart Task E !o r t Mar 3 Mar 4 Mar 1) Task 1 1d Task 1 Resource 2 2) Task 2 1d Task 2 3) Deliverable 1 4) Group 2d 1) Task 4 1d Task 4 2) Task 5 1d Task 5 Textual Outline + Calendar Graph Activities as bars (possibly annotated with names and resources) Deliverable (as diamonds) Activities can be grouped (information of group is derived by lower level activities) Dependencies among tasks spm - ©2014 adolfo villafiorita - introduction to software project management 1 2 The modern Gantt chart and the WBS Project 1. Group 1 1. Task 1 2. Group 2 1. Task 2 2. Task 3 spm - ©2014 adolfo villafiorita - introduction to software project management 1 3 Sequence Activities Identify Dependencies The execution of activities is constrained by the logic of the plan (you do not build the roof before the foundations and structure of a house are laid completed) Hard and soft dependencies (definition in the next two slides). When using planning tools: – Specify only “hard” dependencies – “Soft” dependencies are typically inserted by the planning tool spm - ©2014 adolfo villafiorita - introduction to software project management 8 Hard Dependencies Not much you can do about it... They might either derive: – From the project “logic” (e.g. testing has to come after coding) – From external dependencies (e.g. a contract sign-off; a particular alignment of planets is necessary to launch a spacecraft) Eliminating hard dependencies can be done, at a cost (e.g., increased risk, re-work) spm - ©2014 adolfo villafiorita - introduction to software project management Soft Dependencies Due to a choice among all possible alternative plans They might either derive: – From discretionary choices (e.g., the PM chooses the order in which modules are to be developed) – From resource availability and leveling (e.g., the PM or the planning tool sequences two tasks relying on the same resource) Notice that, as time progresses, it might become difficult or impossible to “undo” soft dependencies (e.g. a resource is shared by different projects) spm - ©2014 adolfo villafiorita - introduction to software project management PDM Relationship types Lead and Lag Time Dependencies between activities can have a non zero duration Lag time = delay introduced by the dependency is positive (some time passes between the two tasks) Lead time = the duration of the dependency is negative (the activities partially overlap) spm - ©2014 adolfo villafiorita - introduction to software project management 12 Some rules of the thumb Use milestones (and deliverables) to clearly mark “phase” transitions (or some important transitions from an activity to another) Try and minimize task dependencies (to minimize delays due to some activities waiting for some other activities to end) Evaluate alternatives Certain activities might just depend on calendar (and be constrained by dates) Take into account all dimensions (cost, quality, and time): minimize time might increase costs, risks, and compromise quality spm - ©2014 adolfo villafiorita - introduction to software project management Project Schedule Network Diagram Activity List and Network Diagram Estimate Activity Resources Type of Resources Estimate Activity Duration Effort, Duration, and Resources Estimation Eff ort (Work): how much work will the activity need to be completed Resources: type and quantity of resources available the activity Duration: how long will the activity last for 5 spm - ©2014 adolfo villafiorita - introduction to software project management Effort The amount of work an activity requires to be completed. A very good starting point. Measured in (work-)days, (work-)weeks, (work-)months Often the term man-* is also used (e.g. 3 man-months = 1 person working for 3 months; 3 people working for one month) Mind you, though: the work required in a project includes direct and indirect activities (i.e., getting the stuff done, but also email, communication, reports, meetings,...) 6 spm - ©2014 adolfo villafiorita - introduction to software project management Resources The resources needed to carry the work out. Typically a constraints (limited) Expressed as manpower, that is, number of people and percentage of availability For instance: 1 person full time; 2 people at 50% Certain tasks might require material resources (e.g. bricks & pipes) or equipment (e.g. a machine for DNA sequencing) Material resources are consumed by the execution of an activity; equipment can be reused In software development usually resources = manpower 7 spm - ©2014 adolfo villafiorita - introduction to software project management Duration How long the activity will last for Measured in hours, days, months, … Often: – 1 week = 5 days = 40 hours – 1 month = 20 days... why? In some countries: – 1 week = 36 hours (7.12 hours/day) Calendar time differs from duration: calendar time includes non-working days, holidays, … 8 spm - ©2014 adolfo villafiorita - introduction to software project management A (simplistic) view D= E/ M Fix any two among D, E, and M (= manpower), and you get the third Typically effort and man power are the variables you will be working with (and derive duration from it) Notice also that manpower is N N = number of resources M = pi i=1 pi = percentage of availability 9 spm - ©2014 adolfo villafiorita - introduction to software project management Some Examples 1 week = 40 hours Effort: 40 man-hours; Resources: 1 @ 100% → D = 40 man-hours / 1 man = 40 hours = 1 week Effort: 80 hours; Resources: 2 @ 100% → D = 80 man-hours / 2 man = 40 hours = 1 week Effort: 80 hours; Resources: 1 @ 50% → D = 80 / 50% = 160 hours = 4 weeks (a person at 50% will be able to work 20 hours/week; it takes 4 weeks to get to the 80 hours needed for the activity) 10 spm - ©2014 adolfo villafiorita - introduction to software project management Important Remark The equation is a simplification... good enough for various cases (do not take it to extremes) The hypothesis of “take any two variables” in D = E/M is not always reflected in practice (e.g. the variables are not completely independent) Estimating is hard: deciding how much effort a task requires is difficult... in the next few lessons we will look at techniques and tools for estimation 11 spm - ©2014 adolfo villafiorita - introduction to software project management Uncertainty in planning Three practices (not necessarily good) to account for uncertainty – Implicit padding: each activity includes some contingency time – Explicit padding: the contingency time is explicitly modeled as an activity – React and re-plan: when a delays occurs, you re-plan and re- define a new realistic schedule Some suggestions: – Always evaluate the cost of delays – Choose a strategy and make it clear (with yourself and with your stakeholders, if possible) 14 spm - ©2014 adolfo villafiorita - introduction to software project management Implicit Padding Each activity includes some extra duration/effort to take into account delays Estimations become inaccurate and difficult to control Always being pessimistic (and always delivering earlier, according to a wrong pessimistic plan) is not necessarily good... the plan is still inaccurate Interaction with other projects might still be a problem (you deliver earlier and the next project needs to re- allocate resources in order to start an activity earlier) 15 spm - ©2014 adolfo villafiorita - introduction to software project management Explicit Padding The plan includes some extra activities or slack to take into account delays in finishing activities Contingency is not explicit in the plan. Data is accurate; no problems in budgeting/monitoring/... Might be difficult to have it accepted... the customer might think of padding as useless 16 spm - ©2014 adolfo villafiorita - introduction to software project management React and Re-plan When a delay occurs, it is dealt with and specific actions are decided. The actions are incorporated into the plan, which is revised Flexible: takes into account different strategies for dealing with contingencies (e.g. removing dependencies, adding resources) This is not a planning practice. It is a monitoring and executing practice. The plan does not show possible alternative courses of actions to the occurrence of a risk/contingency spm - ©2014 adolfo villafiorita - introduction to software project 17 management Estimation Techniques Approaches to Estimation Expert Judgement is “quick and dirty” and based on experience. It can be applied either top-down or bottom- up PERT (Program Evaluation and Review Technique) takes into account the probabilistic nature of estimations Algorithmic Techniques provide estimations by measuring specific qualities of a system and applying algorithms (Function Points, COCOMO, WebObjects spm - ©2014 adolfo villafiorita - introduction to software project 19 management Expert Judgement Efficient and fast. Based on personal (rather than organizational) assets Underlying assumption: the project uses a product WBS Top-down – Start at the top of the WBS and break estimations as you move down Bottom-up – Start at the bottom of the WBS and sum as you move up spm - ©2014 adolfo villafiorita - introduction to software project 20 management PERT Program Evaluation and Review Technique Developed in the sixties It is a methodology to define and control projects Variations exists (e.g. PERT/COST developed by NASA/DOD) spm - ©2014 adolfo villafiorita - introduction to software project 22 management PERT Formula Estimation in PERT is based on the idea that estimates are uncertain – Therefore uses duration ranges – And the probability of falling to a given range Uses an “expected value” (or weighted average) to determine durations spm - ©2014 adolfo villafiorita - introduction to software project 24 management PERT For each task, three estimates: – Optimistic * (would likely occur 1 time in 20) – Most likely * (modal value of the distribution) – Pessimistic * (would be exceeded only one time in 20) spm - ©2014 adolfo villafiorita - introduction to software project 25 management PERT Formula Task duration is an average of three estimations: te = expected time a = optimistic time estimate (1 in 20) m = most likely time estimate b = pessimistic time estimate (1 in 20) spm - ©2014 adolfo villafiorita - introduction to software project 28 management Develop Schedule Developing the Schedule Uses results of the other time management processes to determine the start and end date of the project Ultimate goal is to create a realistic project schedule that provides a basis for monitoring project progress for the time dimension of the project Important tools and techniques Gantt charts Critical path analysis Critical chain scheduling PERT analysis Information Technology Project Management, Ninth Edition. © 2019 Cengage. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Critical Path Method Critical Path Not all activities are equally important or critical in a plan The critical path method looks at those activities which determine the duration of a plan These activities constitute the critical path Any arbitrarily small delay in any activity in the critical path will delay the finish date of a project The computation is based on Network Diagrams (a graph representation of the plan) spm - ©2014 adolfo villafiorita - introduction to software project management 49 Network Diagrams Developed in the 1950’s A graphical representation of the tasks necessary to complete a project (plan as graph) Visualize the flow of tasks & relationships Two classic formats – AOA: Activity on Arc (or Activity on Arrow) – AON: Activity on Node Conventions: – Each task labeled with an identifier and a duration (in std. unit like days)... variations are possible – There is one start and one end event – Time goes from left to right spm - ©2014 adolfo villafiorita - introduction to software project management 50 Network Diagrams AOA (Activity on Arrow) a.k.a ADM (Activity Diagramming Method): – Circles represents Events (e.g. ‘start’ or ‘end’ of a given task) – Lines representing Tasks, such as ‘Design’ AON (Activity on Node) a.k.a. PDM (Precedence Diagramming Method): – Tasks are on Nodes – Arcs represents dependencies between task spm - ©2014 adolfo villafiorita - introduction to software project management 51 Graphical Formats AOA: Activity on Arc Requirements Design 1 2 3 15 days 5 days AON: Activity on Node Requirements Design (15 days) (5 days)... which one is better? spm - ©2014 adolfo villafiorita - introduction to software project management 52 AOA/AON Comparison AOA initially used by Walker and Kelly for PERT AON more flexible and easier to draw AOA simpler to use for certain algorithms... we will stick (mostly) to AON spm - ©2014 adolfo villafiorita - introduction to software project management 53 Example: AOA/AON Comparison Consider the following plan: Activity Predecessors Duration A None 3 months B None 4 months C A 3 months D A, B 1 month E B 2 months spm - ©2014 adolfo villafiorita - introduction to software project management 54 Example: AOA/AON Comparison 2 In the AOA notation, A C some dependencies 1 5 might require “dummy” D arcs and nodes to be 4 introduced (*) E B 3 (*) Notice that, since we can/have to add nodes and arcs, a plan does not have a unique AOA associated to it spm - ©2014 adolfo villafiorita - introduction to software project management 55 Critical Path Computation Slack & Float (synonyms) Free Slack – Slack an activity has before it delays next task Total Slack – Slack an activity has before delaying whole project Slack Time TS = TL – TE – TE = earliest time an event can take place – TL = latest date it can occur w/o extending project’s completion date or next activity TS TE TL spm - ©2014 adolfo villafiorita - introduction to software project management 57 Critical Path Computation Goal: given a plan (activities, duration, and dependencies), determine Slack, Earliest and Latest dates of each activity Notation: AON with nodes represented as follows EARLIEST EARLIEST START DATE DURATION END DATE ACTIVITY NAME LATEST LATEST SLACK END DATE START DATE spm - ©2014 adolfo villafiorita - introduction to software project management 58 Critical Path Computation A forward pass determines the earliest start and end dates of each activity in the plan A backward pass determines the latest start and end dates of each activity in the plan The difference between earliest start (end) and latest start (end) is the slack of an activity The critical path is the path in which all activities have zero slack A plan always has a critical path... changing the plan changes what activities are in the critical path spm - ©2014 adolfo villafiorita - introduction to software project management 59 Example 1 b 0 10 10 P a 0 10 b 0 0 7 7 7 2 9 10 10 S A C E 1 8 8 10 10 10 c 0 3 3 B EARLIEST START DATE DURATION EARLIEST END DATE 5 8 d ACTIVITY NAME LATEST SLACK LATEST START DATE END DATE spm - ©2014 adolfo villafiorita - introduction to software project management 60 Example 2 Task Duration Month 0 Month 1 Month 2 Month 3 Month 4 1) Task 1 4w Task 1 4w 2) Task 2 8w Task 2 8w 3) Task 3 2w Task 3 2w 4) Task 4 2w Task 4 2w 5) Task 5 10w Task 5 10w 6) Task 6 1w Task 6 1w 7) Project End “Informal approach”: have a look at what activities can slide in a plan without moving the end date of a project (e.g. Task 3 is not in the critical path) CPM highlighted automatically by many Gantt charting tools spm - ©2014 adolfo villafiorita - introduction to software project management 61 Critical Path Method Remarks Critical path refers just to duration and not to other characteristics such as risk or difficulty Activities which are not in the critical path can delay a plan, if the delay is long enough. Watch out for (nearly) critical paths: a delay in an activity in a non-critical path may make another path critical spm - ©2014 adolfo villafiorita - introduction to software project management 62 Control Schedule Resource Allocation and Resource Leveling A (simplified) Process Inputs: – the plan: activities, constraints, effort for each activity – project team (number, types, and availability of resources) – delivery dates (project constraints) Resource allocation: – the process by which a resource is assigned to a task, that is, is tasked with carrying out part of the work (effort) defined in a task Constraints: – according to availability and needs (e.g. the type of resource required for a given activity): no over-allocation (above maximum availability) (resource leveling) If no solution is found, if you may, variate some hypotheses (e.g. increase team size, relax constraints) and iterate spm - ©2014 adolfo villafiorita - introduction to software project management 70 Resource Allocation Examples -1 w T day T+1w T+2w T+3w T+4w Task 1 1w R 1 {50% of 100%} Task 2 2w R 2 Task 3 1w R 1 {50% of 100%}; R 2 {50% of 100%} Legenda: – each slot: 1week – R1 assigned to Task 1 at 50% of his time – R2 allocated full time to Task 2 – R1 and R2 allocated @ 50% of their time to Task 3 What it means: – R1 will work 20 hours on week 1 and 2 and 20 hours on week 3 – R2 will work 40 hours on week 1 and 2 and 20 hours on week 3 spm - ©2014 adolfo villafiorita - introduction to software project management 71 Resource Usage For manpower: the amount of time each resource is needed at a given time For equipment: the number of items that are necessary at any given time For material: the amount of material which is required (consumed) at any given time spm - ©2014 adolfo villafiorita - introduction to software project management 72 How is it computed? Resource usage is computed by summing the amount of work required for any given period That is a “vertical” sum over work assignments Overallocation: a situation in which a resource is used above his/her/its maximum capability spm - ©2014 adolfo villafiorita - introduction to software project management 73 Example -1 w T day T+1w T+2w T+3w T+4w Task 1 1w R 1 {50% of 100%} Task 2 2w R2 Task 3 1w R 1 {50% of 100%}; R 2 {50% of 100%} Task 4 2w R1 hours hours hours hours hours R1 20 20 T1 20 T3 40 40 T4 Total R1 20 60 60 R2 40 40 T2 20 T3 Total R2 40 40 20 R1 is over allocated in W2 (T+1w) and W3 (T+2w) spm - ©2014 adolfo villafiorita - introduction to software project management 74 More Complete Example We draw the plan highlighting hard constraints. Deliverable has a unmovable delivery date Allocating two resources to Task 2 allows to satisfy the constraints spm - ©2014 adolfo villafiorita - introduction to software project management 75 Example Problem: Task 1 and Task 3 require the same resource... we are over-allocating Resource 1 spm - ©2014 adolfo villafiorita - introduction to software project management 76 Example Solution 1. Resource leveling... insert soft constraints in your plan so that no resource is over allocated (does not work above 100%) Solution 2. Compression techniques (in a few lessons) Some considerations: Resource 1 will work on the project full time. Resource 2 and Resource 3 needed just towards the end of the project (for Task 2) spm - ©2014 adolfo villafiorita - introduction to software project management 77

Use Quizgecko on...
Browser
Browser