Project Management What is a project? How to plan a project? How to schedule a project? How to control a project? 1. PROJECT MNGEMENT...1 2. PROJECT NLYSIS...3 3 PROJECT PLNNING...8 3.1 RESOURCE LLOCTION...8 3.2 REDUCTION OF DURTION...9 3.3 PROJECT DURTION WITH VRIBLE TSK LENGTH... 12 3.4 PERT CLCULTION METHOD... 13 3.5 DISCRETE PPROCH... 14 4. PROJECT CONTROL...16 5. CONCLUSIONS...17 6. TTCHMENTS...18 Kimmons R.L. and Lowree J.H., Project Management: Reference for Professionals, Marcel Dekker, 1989. Prod 2100/2110 Project Management 0
1. Project Management project is a special kind of production system which produces a single unit of product. Building a ship or a house, moving a department or a plant, developing a new product or performing a study are examples of such one-of-a-kind products. Your goal is to control that your project is finished in time and to systematize its operations and its control. You can also aim at transferring your past experience with similar projects. Examples : The GETUP project soap, clothes, food alarm clock, coffee machine bathroom, kitchen friend, parents Student asleep Morning Student listening To attend to a lecture on a precise day at a precise time is a project. You cannot do it in advance nor can you prepare several attendances at once. Your objectives are first to be on time at the auditorium (washed, dressed and fed up) but also to be able to sleep as long as possible, that is to start the project as late as possible. Design and install a new information system Hopefully, you do that only once in your company. In any case, one at a time. lmost the complete organization is affected by such a project. Satisfying all needs while minimizing the disturbance is certainly your first objective. Shutdown a plant (CPM) CPM (Critical Path Method) was developed in 1957 at Remington-Rand and Du Pont to aid in scheduling maintenance shutdowns of chemical plants. Develop Polaris (PERT) Polaris is the first weapons system that could launch a long-range ballistic missile from a submerged submarine. The PERT (Program Evaluation and Review Technique) method was developed in 1958 to coordinate the 11000 contractors of the project. Project Management is adequate when: or when should you use project management techniques the objective is clear the objective is complex in scope different organizations participate quick responses to changes are required the tasks are highly interdependent the reward / penalty is high Prod 2100/2110 Project Management 1
Project Management Project Introduce a new information system (with new entry forms) for the registration of the students. Train the personnel accordingly. Questions when will the project be completed? or when should it be started to finish on time? how can we speed up the project? or which operation should be expedite to finish earlier? how can we spare some money? or how can my workforce be more efficiently used? what happens if a task takes more than foreseen? or what can be done to meet the final deadline if a task is late? need to analyze, to plan and to control the project 1. nalysis: decompose the problem into tasks, get time estimations for each task and study their dependencies by building a PERT / CPM diagram. B B task task must be done before 2. Planning: allocate the resources and determine the deadline (due date) for each task. Here we will show how precise start times for the non-critical tasks are selected. 3. Control: check we are on time and reallocate resources if necessary. Prod 2100/2110 Project Management 2
2. Project nalysis Step 0. List the activities, their dependence and their estimated (or known) duration. Project: Introduce a new information system (with new entry forms) for the registration of the students. Train the personnel accordingly. For this project, five different activities are identified. The personnel receives three successive formations: a basic one with the new system(), one with the new forms(c) and finally one with the complete system(e). The new forms must first be designed(d) and then produced in large quantities(b). The installation is operational when the personnel is trained and the forms are available. ctivity Code Duration (days) Predec. Basic training 5 - Procure new forms B 8 D Train for new forms C 6, D Design new forms D 11 - Train for new system E 7, C The code is an identifier (unique) of the task. The duration is the estimated time needed to complete the task. The predecessors of a task are all the tasks which must be completed before the task can be started. Project: Prepare the production management examination Here is another example where a team will prepare a POM exam. ctivity Code Duration (days) Predec. Study the basic notes D 11 - Prepare a summary B 8 D of the theory Review probability 5 - and statistics Solve the exercises C 6, D Write recipes for the exercises E 7, C The list of tasks, their duration and their predecessors completely define the project. These two examples are therefore identical. Note that if you prepare this examination alone, the precedence constraints will be different! Prod 2100/2110 Project Management 3
Project nalysis Step 0. Project decomposition Code Duration Predecessors 5 - B 8 D C 6, D D 11 - E 7, C Step 1. St. Build a node for each activity + a Start node + a Finish node Fi., 5 B, 8 C, 6 D, 11 E, 7 In addition to the activity code, specify its duration. Step 2. Connect the tasks according to the precedence relations (and simplify) The Start node is connected to the tasks which have no predecessors ( and D). The nodes which are predecessors of nobody (B and E) are connected to the Finish node. Every precedence relation translates in an arrow between two nodes., 5 C, 6 E, 7 St. Fi. D, 11 B, 8 "To simplify" means to discard useless precedence relations. For example, must precede C and C must precede E, it is then useless to explicitly specify that must precede E. Prod 2100/2110 Project Management 4
Project nalysis Step 3. Compute the earliest start and finish times, 5 C, 6 E, 7 St. Fi. D, 11 B, 8 Let us arbitrary decide that the task St terminates at time 0. can then start at time 0 and will be finished at time 5. D can start at 0 and will finish at 11. C can only start when and D are terminated. This means that C cannot start before time 11. This is the earliest start time for activity C. It cannot be finished before time 11+ 6=17. This is the earliest finish time for activity C. Practically, the earliest start and finish times are written on the diagram using the following representation. ESi EF i i, D i ES i EF i D i Earliest Start time of task i Earliest Finish time of task i ctivity Duration of task i For our example, the following diagram is obtained. Note that the project cannot be finished before time 24. This is the project length. St. 0 5 11 17 17 24 0, 5 C, 6 E, 7 24 0 11 11 19 D, 11 B, 8 Mathematically, we set the earliest finish time of the task St to 0 and used the following two formulae iteratively: EFi = ESi + Di ES = max ( ) EF i j pred i j where pred(i) denotes the set of tasks which precede i. Note. Deciding that the task St is terminated at time 0 is arbitrary. It is just a way of fixing the time scale. One could select the current date and work in absolute time instead. Selecting 0 just means we work in relative time. Fi. Prod 2100/2110 Project Management 5
Project nalysis Step 4. Compute the latest start and finish times Similarly, we can work backwards to determine the latest start and finish times. For example, for the project to terminate at time 24, tasks E and B must be finished at this time. The latest finish times of these two tasks is therefore 24. The latest start time of B is then 16 and the latest start time of E is 17. nd so on. Using the following notation ES i EF i i, D i LS i LF i LS i LF i Latest Start time of task i Latest Finish time of task i we obtained the following diagram: 0 St. 0 0 5, 5 6 11 0 11 D, 11 0 11 11 17 C, 6 11 17 11 19 B, 8 16 24 17 24 E, 7 17 24 24 Fi. 24 Mathematically, this diagram was obtained by setting the latest start time of the task Fi to 24 and by using the following two formulae iteratively: Step 5. LSi = LFi Di LF = min ( ) LS i j succ i j Determine the critical path(s) and tasks Determine the slack times The slack time of a task is defined as the difference between the latest and the earliest start times of this task. task with a slack time equal to zero is said critical. path is a sequence of tasks from St to Fi. path made of critical tasks is said critical too. 0 St. 0 0 5, 5 6 11 0 11 D, 11 0 11 11 17 C, 6 11 17 11 19 B, 8 16 24 17 24 E, 7 17 24 24 Fi. 24 Prod 2100/2110 Project Management 6
Project nalysis The last diagram is the result of the project analysis phase. 0 St. 0 0 5, 5 6 11 0 11 D, 11 0 11 11 17 C, 6 11 17 11 19 B, 8 16 24 17 24 E, 7 17 24 24 Fi. 24 The slack time of a task tells whether there is some freedom in the schedule of this task and how much. If the slack time is zero (task C, for example), the earliest start time is identical to the latest start time (11, for task C). You must start this task at this time if you do not want to delay the whole project. There is thus no freedom in the schedule of the critical tasks. Furthermore, any delay in the duration of a critical task will delay the whole project. If the slack time is positive (task B, for example), there is some freedom. Task B can be started any time between 11 and 16. Notes: 1. There is always at least one critical path. There can be more than one. 2. The slack is defined as the difference between the latest and the earliest start times. It can be equivalently defined as the difference between the finish times. Other representations Derive a Gantt chart with the ES dates Gantt chart is a special kind of chart where the x-axis is the time and where each task is represented by a rectangle whose length corresponds to its duration. Here are two examples. B C D E days 0 11 24 It is difficult with Gantt charts to represent the precedence constraints. None of these charts is very clear. The vertical bar from D indicates that D must be done before B and C. However, it is not clear whether precedes C or B or both. Start D C B E Finish Days 0 11 24 We advocate the use of Gantt charts but with explicit precedence constraints. Prod 2100/2110 Project Management 7
3 Project Planning 3.1 Resource allocation Question 1 Select best start times for non-critical tasks or how can the slack time of a non-critical task be used to spare some resource? Here we will show how precise start times for the non-critical tasks are selected. We assume that the task D can be decomposed into two consecutive subtasks, denoted D1 and D2. Example: D = D1 + D2 D1 lasts 3 days and requires 2 workers D2 lasts 8 days and requires 1 worker lasts 5 days requires 1 worker Start D1 D2 C B E Finish Days 0 11 24 Workers If we start all the tasks at their earliest start time, 3 workers are required during the first three days. This project planning requires 3 workers during the first three days. By delaying the start of task after the end of D1, one can spare one worker without delaying the whole project. Start D1 D2 C B E Finish Days 0 11 24 Workers We focused here on workers. same optimization can be performed for any other resource. We only considered delaying non-critical tasks. The same can be done for critical tasks, at the cost however of delaying the whole project. Prod 2100/2110 Project Management 8
3.2 Reduction of duration Question 2: Reduce the total project duration at the lowest cost or what should I do if the analysis of the project shows that it will fall behind schedule? Start D C B E Finish Days 0 11 24 Let us first consider our example. How could the project duration be reduced? Step 1. List the possible reductions and their costs In a real case, it means asking whether some tasks can be shortened and if it is possible, at which cost (by means of which resources/investment). Task B C D E Normal duration 5 8 6 11 7 Reduced duration 4 6 3 8 4 Cost 30 50 70 100 50 This table has to be understood as follows. The normal duration of task E is 7 days. n investment of 50 ($ or BEF) would allow this duration to be reduced to 4 days. This investment can be done or not. This is a 0/1 decision variable. Step 2. Determine the sufficient reductions We build the diagram and focus first on the critical path D-C-E because reduction of noncritical tasks cannot reduce the project length. ssume for example that the project length must be reduced to 18 days, that is 6 days must be spared. Focusing on the critical path, it seems that we could freely choose between the reductions C+D, C+E and D+E which brings 6 days each. This is not true because reducing the critical path D-C-E of 6 days does not guarantee that the project duration will be reduced by 6 days. In fact, another path could become critical. Consider for example the reduction C+E. When reduced, these two tasks take together 7 days which is less than the task B. The path D-B of length 19 becomes then critical and defines the project duration. The reduction C+E does only allow 5 days to be spaced. The sufficient reductions to be considered are therefore D+C, D+E and C+E+B. Step 3. Select the cheapest sufficient reduction Here are the best solutions for different deadlines. Deadline(days) 23 22 21 20 19 18 15 Reduction(s) E E E C+E C+E D+E? Cost 50 50 50 120 120 150? What do you do if: contractual deadline: day 18 daily penalty for lateness: 25/day Prod 2100/2110 Project Management 9
Reduction of duration Question 2: Reduce the total project duration at the lowest cost Here we analyze the same problem but instead of solving it by hand, we will formulate it as an optimization problem. Operations research formulation s in the previous example, we first consider the case where the decision of reducing the duration of a task is a 0/1 variable. Case 1. Discrete duration options Task B C D E normal duration (D) 5 8 6 11 7 Reduced duration (Red) 4 6 3 8 4 Cost (ReductionCost) 30 50 70 100 50 Variable definitions: S : Start time of activity F x : Finish time of activity = 1 0 if the time reduction for otherwise is implemented Precedence constraint: F SB if B Variable constraint: F = S + (1 x)d + xred Initial constraint: FStart = 0 SFinish Deadline Objective function: Min x ReductionCost Mixed 0-1 Integer Programming problem Prod 2100/2110 Project Management 10
Reduction of duration Question 2: Reduce the total project duration at the lowest cost Here we consider the case where the reductions are no more 0/1 decisions but integer or linear. Case 2. Linear (duration - cost) functions Task B C D E Max. duration (Max) 5 8 6 11 7 Min. duration (Min) 4 6 3 8 4 Red. cost / day (RedCostRate) 30 25 23.3 33.3 16.7 For example, task E takes 7 days. We could reduce its duration at the cost of 16.7 per day. However, we cannot reduce it indefinitely. Four days constitutes a lower limit. Variable definitions: S: Start time of activity F: Finish time of activity x: number of reduction days for (int or cont) Precedence constraint: F SB if B Variable constraint: Initial constraint: F = S + Max x 0 x Max Min FStart = 0 SFinish Deadline Objective function: Min x RedCostRate LP(linear) or MIP(mixed integer) It is a linear programming problem if the variable x is continuous, it is a mixed integer problem if x can take only integer values. good heuristic for the integer case is the greedy approach. Select the task of the critical path with the smallest reduction cost rate and reduce this task as long as no other path becomes critical. When there are two parallel critical paths, set the reduction cost rate for this parallel path as the sum of the cheapest reduction cost rates on each path. Repeat then the process as long as the deadline is not met. This technique is usually referred to as the minimum-cost scheduling. Prod 2100/2110 Project Management 11
3.3 Project duration with variable task lengths Question: If the tasks have variable durations, what is the probability that the project terminates before... Task B C D E Max duration 6 16 8 14 7 Est. duration 5 8 6 11 7 Min duration 4 4 5 9 7 Let us represent this variability on the Gantt chart. The D+B path can last between 13 and 30 days. The D+C+E path lasts between 21 and 29 days. C E Start Finish D B Days 0 24 Goal: Determine Prob[project duration < 27] The value 27 is just an example. Step 1. Define: X=D+max (B, C+E) Step 2. Compute: pdf(x) Step 3. Derive: Prob[X<27] Theoretically, we should define the random variable X as above, determine its probability distribution and then derive the probability that X remains smaller than some deadline (27, for example). Practically this approach is not so easy since it requires operations on random variables (the task durations,, B, C, D and E) such as summation and maximum. We will explore three different approaches. The first two approaches focus on the critical path only. They aim at computing the probability that the duration of the critical path does not exceed some given deadline. This is an easier problem since random variables are only summed up. This is however an approximation only of the probability that the project meets the deadline. There is indeed a non-null probability that a non-critical path, D-B for example, lasts longer than this deadline. The two approaches assume continuous and discrete probability distributions, respectively. The third approach shows how the probability that the project meets the deadline can be determined using discrete random variables. One should however be aware of the fact that this last approach could require a very large number of computations when the size of the problem increases. Prod 2100/2110 Project Management 12
3.4 PERT calculation method The method described here is often referred to as the PERT method itself. Q1. What is the probability p that the critical path lasts less than 27 days? (continuous approach) Task B C D E Max duration 6 16 8 14 7 Est. duration 5 8 6 11 7 Min duration 4 4 5 9 7 Let us build the random variable Y which represents the duration of the critical path.! Y = D + C + E? Prob[Y <27] 1. Determine the mean duration of the critical path µ Y = µ D + µ C + µ E = 24 The mean of a sum of random variables is equal to the sum of the means of the random variables. 2. Determine the StDev of each task duration We do not have the standard deviation of the duration of the tasks. We could have assumed that it has the shape of a normal distribution. The Beta distribution is most often selected because it admits the specification of a minimum and of a maximum. The standard deviation of a Beta distribution is given by: σ = (Max - Min)/6, using beta distributions We then obtain from the table above: σd = 5 / 6, σc = 3 / 6, σe = 0 3. Determine the StDev along the critical path σy = σ 2 + σ 2 D C + σ 2 E = 34 / 36 1 The variance of a sum of random variables is equal to the sum of their variances if they are independent. 4. Estimate the probability: p=prob[y < 27] We have estimated the mean and the variance of Y. We must make an assumption on the shape of its distribution. The Normal distribution is a reasonable choice. Compute: Prob[ N(24,1) < 27 ] Prob[ N(µ,σ2) < d ] = Prob[ N(0,1) < (d-µ)/σ ] Prob[ N(24,1) < 27 ] = Prob[ N(0,1) < 3 ]= 0.9987 Prod 2100/2110 Project Management 13
3.5 Discrete approach Q1. What is the probability p that the critical path lasts less than 27 days? (discrete approach) Task B C D E Max duration 6 16 8 14 7 Est. duration 5 8 6 11 7 Min duration 4 4 5 9 7 We will again build the random variable Y which represents the duration of the critical path. However, we will assume that all the related variables are discrete. 1. Make an assumption on the distribution of the duration of the tasks. We assume we got the following data: Duration(D) 9 10 11 12 13 14 Probability 2/9 2/9 2/9 1/9 1/9 1/9 Duration(C) 5 6 7 8 Duration(E) 7 Probability 3/8 3/8 1/8 1/8 Probability 1 These data can be drawn from discussion with people who have already performed or managed similar tasks, most often the field people. 2. Compute the probability distribution of Y This table is computed as follows. Y equals 21 when D=9, C=5 and E=7. This happens with probability 2/9 * 3/8 * 1. Y equals 22 when D=9, C=6 and E=7 or when D=10, C=5 and E=7. This happens with probability 2/9 * 3/8 * 1 + 2/9 * 3/8 * 1 since the probability of a sum of two incompatible events is the sum of their probability. day Prob[Y=day] sum cumul. 21 2/9 * 3/8 6/72 6/72 22 2/9 * 3/8 + 2/9 * 3/8 12/72 18/72 23... 14/72 32/72 24... 13/72 45/72 25 (2+2+3+3)/72 10/72 55/72 26... 9/72 64/72 27... 5/72 69/72 28... 2/72 71/72 29 1/9 * 1/8 1/72 72/72 Pay attention to the fact that "less than 27" does mean "26 or less" in a discrete case! Prob[ D+C+E 26 ] = 64/72 = 8/9 = 0.889 Prod 2100/2110 Project Management 14
Discrete approach Q2. What is the probability p that the project lasts less than 27 days? (discrete approach) Task B C D E Max duration 6 16 8 14 7 Est. duration 5 8 6 11 7 Min duration 4 4 5 9 7 Here we will build the random variable X which represents the duration of the project. In this small problem, it has a simple formulation. X=D + Max (B, C+E) 1. Determine the distribution of C+E We compute it as in the calculation of D+C+E. C+E 12 13 14 15 Probability 3/8 3/8 1/8 1/8 2. Determine or get the distribution of B B 4 8 12 16 Probability 4/9 2/9 2/9 1/9 3. Determine Max(B, C+E) day probability elements total 12 3/8 * (4+2+2)/9 3/9 13 3/8 * (4+2+2)/9 3/9 14 1/8 * (4+2+2)/9 1/9 15 1/8 * (4+2+2)/9 1/9 16 1/9 1/9 4. Determine X = D + Max(B, C+E) This is again the same calculation. You should find p=68/81. This approach is rather tedious for a human. However, since it is systematic, it is very easy to program on a computer. Prod 2100/2110 Project Management 15
4. Project Control Time-Scaled diagrams Use plastic/paper strips as in Gantt charts to represent each task. If the diagram gets too complicated, build a multi-level representation. Computer software is also available for major project. Review frequency Perform regular revisions by comparing previous estimates with new ones or with reality. Pay more attention to the critical tasks. In fact your attention should be inversely proportional to the slack time of each task (based on finish times in your final planning). Use a simple reporting method You want to be sure it will be used. Cost aspect In practice, the control of a project requires both the time and budget aspects to be reviewed. Let us take an example. ssume a project requires one million a month during 12 months. t the end of six months, you actually spent 7 millions and your project is one month behind schedule. What is the real picture? Prod 2100/2110 Project Management 16
5. Conclusions project analysis requires a careful project decomposition analysis with the objectives: eliminate, simplify and perform simultaneously In many cases, the decomposition of the project into tasks already brings a huge reward by just identifying unnecessary tasks. clear (huge) diagram of tasks It provides the global picture of the project and allows a simple control. Multi-level diagrams are recommended. clear way of allocating resources Using the slack times of the non-critical tasks allows often major reductions in resource requirements. natural support for controlling a project The analysis and the planning of the project define the slack times and tell you which tasks to check and possibly expedite. danger of trying to meet schedules at all costs Meeting the deadlines does not mean skipping test phases. CPM and PERT are techniques only You also need clear project responsibilities and an efficient progress reporting system. Prod 2100/2110 Project Management 17
6. ttachments CPM PERT ctivity-on-node representation ctivity-on-arc representation CPM, 5 C, 6 E, 7 St. Fi. D, 11 B, 8 PERT 1 D 2 C 4 B E 5 rc = task Node = event need for dummy tasks (dotted arrow) the critical path is the longest path 3 To understand the need for dummy tasks, try to build the diagrams corresponding to the following two examples: Example 1: C and D must be performed after and B Example 2: C must be performed after and B, D must be performed after only. identical critical path computation often associated with variable task lengths and with the use of Beta distribution as on page 13. Prod 2100/2110 Project Management 18
ppendix: probability reminder 1) If X and Y are random variables, E[X+Y] = E[X] + E[Y] E[x] stands for expectation (or mean, or average) of the random variable X var[x+y] = var[x] + var[y] + 2 cov[x,y] VR[x] stands for the variance of the random variable X; StDev[X] = sqrt(vr[x]) stands for the standard deviation of the random variable X; cov[x] stands for the covariance. cov[x,y] = 0 if X and Y are independent In our example, E[D+C+E] is therefore equal to the sum of the expectations. µ D+ C+ E = µ D + µ C + µ E = 24 2) If and B are events, P[ and B] = P[] P[B ] P[B ] = P[B] if and B are independent P[ or B] = P[] + P[B] - P[ and B] 3) If X and Y are independent random Normal variables P[X < µ X -a] = P[X > µ X +a] (symmetrical) P[X < µ X ] = P[X > µ X ] = 0.5 Prob[ N(µ,σ2) < d ] = Prob[ N(0,1) < (d-µ)/σ ] to compute Prob[ N(µ,σ2) < d ]: 1. compute z = (d-µ)/σ 2. look in table Prob[ N(0,1) < z] (X+Y) is N(µ X+ µ Y, σ2 X + σ2 Y ) if X and Y are independent. Prod 2100/2110 Project Management 19