Schedule risk analysis

Monte-Carlo simulations: How to imitate a project’s progress?

- Monte-Carlo simulations can be used in dynamic project scheduling to measure the sensitivity of project activities or to evaluate the accuracy of forecasting methods.
- A Monte-Carlo simulation run generates a duration for each project activity given its predefined uncertainty profile, as follows:
- Generate a random number from the interval [0,1[
- Generate a number using a cumulative distribution function
- Add the new number to the baseline schedule
- Step 1. Random number generation: A random number generator is a computerized device designed to generate a sequence of numbers that lack any pattern, i.e. appear random. The uses of computational algorithms to produce long sequences of apparently random results, which are in fact completely determined by a shorter initial value, known as a seed value, are called pseudorandom number generators.
- Step 2. Cumulative distribution function: The random number is used to generate the number from a predefined distribution.
- Step 3. Add the new number to the baseline schedule.

Monte-Carlo simulations: Linking critical path schedules to project control

- Monte-Carlo simulations can be used for various purposes to analyze the behaviour of projects in progress. It can be used to measure the sensitivity of project activities or to evaluate the accuracy of forecasting methods.

Project risk: Statistical distributions or single point estimates?

- The use of single point estimates for the project data, such as activity durations and costs or the value of the time-lags between project activities often leads to unrealistic project estimates due to the inherent uncertainty that typifies these projects.
- The use of statistical distributions is crucial for a thorough and realistic analysis of the project as a preparation of its future progress which will be characterized by changes compared to the original point estimates.
- Single point estimates (= no risk): the activity entails no risk and the duration is a single point estimate (i.e. the estimate used in the baseline schedule)
- Interval estimates (= risk): Using statistical distributions or making use of simple triangular distribution functions

Schedule Risk Analysis: How to measure your baseline schedule’s sensitivity?

- Schedule Risk Analysis (SRA) is a simple yet effective technique to connect the risk information of project activities to the baseline schedule, in order to provide sensitivity information of individual project activities to assess the potential impact of uncertainty on the final project duration and cost.
- Step 1. Baseline schedule: The construction of a project baseline schedule involves the definition of start and finish times for each project activity, using earliest and latest start calculations with or without the presence of limited resources.
- Step 2. Define risk/uncertainty
- Step 3. Monte-Carlo simulations: is a simple technique to quickly generate multiple runs simulating real project progress. During each simulation run, the simulation engine records all project schedules and critical paths during progress in order to be able to measure the degree of activity sensitivity and the expected impact of activity variation on the project objective.
- Step 4. Sensitivity results: The output of a schedule risk analysis is a set of measures that define the degree of activity criticality and sensitivity.

Schedule Risk Analysis: Measuring the time sensitivity of an activity

- Schedule Risk Analysis (SRA) is a simple yet effective technique to connect the risk information of project activities to the baseline schedule, in order to provide sensitivity information of individual project activities to assess the potential impact of uncertainty on the final project duration.
- Activity sensitivity measures:
- Criticality Index (CI): Measures the probability that an activity is on the critical path.
- Significance Index (SI): Measures the relative importance of an activity.
- Schedule Sensitivity Index (SSI): Measures the relative importance of an activity taking the CI into account.
- Cruciality Index (CRI): Measures the correlation between the activity duration and the total project duration.

Time sensitivity measures

Measuring time sensitivity in a project: The criticality index

- Schedule Risk Analysis (SRA) is a simple yet effective technique to connect the risk information of project activities to the baseline schedule, in order to provide sensitivity information of individual project activities to assess the potential impact of uncertainty on the final project duration.
- A traditional schedule risk analysis requires four stepsto report activity sensitivity measures that evaluate each activity’s time estimate on a scale of risk.
- These sensitivity measures can be used by the project manager to distinguish between risky and non-risky activities in order to better focus on those activities that might have an impact on the overall project objective.

Measuring time sensitivity in a project: The cruciality index (Pearson’s product-moment)

- Cruciality index CRI(r): is such a measure that calculates the correlation between the activity duration and the total project duration, as follows:

CRI = |correlation(AvgAD, AvgSD)|

with

|x|: The absolute value of x

AvgAD: Average activity duration

AvgSD: Average simulated project duration

- This measure reflects the relative importance of an activity and calculates the portion of total project duration uncertainty that can be explained by the uncertainty of an activity, and can be measured in different ways.
- One way to measure CRI(r) is the Pearson’s product-moment which is a traditional measure of the degree of linear relationship between two variables.

**Measuring time sensitivity in a project: The cruciality index (Kendall’s tau rank correlation)**

- Cruciality index CRI(τ): when it is conjectured that the relation between the variables is non-linear, the Kendall’s tau rank correlation CRI(τ) might be a good alternative to Pearson’s product-moment. The CRI(τ) assumes that the values for the variables (i.e. activity durations and project durations) are converted to ranks, measures the degree of correspondence between two rankings and assesses the significance of this correspondence.
- The Kendall’s tau rank correlation cruciality index CRI(τ) can be calculated as follows:
- CRI(τ) = (4 * PairwiseComparisonValue) / {nrs * (nrs – 1)} – 1
- with nrs the number of simulation runs.

**Measuring time sensitivity in a project: The cruciality index (Spearman’s rank correlation)**

- Cruciality index CRI(ρ): is a measure that calculates the correlation between the activity duration and the total project duration:

CRI = |correlation(AvgAD, AvgSD)|

with

|x|: The absolute value of x

AvgAD: Average activity duration

AvgSD: Average simulated project duration

- This measure reflects the relative importance of an activity and calculates the portion of total project duration uncertainty that can be explained by the uncertainty of an activity, and can be measured in different ways.
- On way to measure the CRI(r) is the Pearson’s product-moment which is a traditional measure of the degree of linear relationship between two variables.
- However, when it is conjectured that the relation between the variables is non-linear, the Spearman’s rank correlation CRI(ρ) might be a good alternative.
- The CRI(ρ) assumes that the values for the variables (i.e. activity durations and project durations) are converted to ranks, followed by the calculation of the difference between the ranks of each observation of the two variables.
- The measure is a so-called non-parametric measure to deal with situations where the strict statistical assumptions of the parametric CRI(r) measure are not met.
- The Spearman’s rank correlation cruciality index CRI(ρ) can be calculated as follows:

CRI(ρ) = 1 – 6 * sum(DiffRank2) / {nrs* (nrs2 - 1)}

with

sum{x}: The sum of all x-values over all simulation runs

nrs: The number of simulation runs

DiffRank: The difference between the ranking values of AD and SD

**Measuring time sensitivity in a project: The schedule sensitivity index**

- Schedule sensitivity index: it combines the activity duration and project duration standard deviations with the Criticality Index.

The Schedule Sensitivity Index can be calculated as follows:

SSI = (StDevAD * CI) / StDevSD

Measuring time sensitivity in a project: The significance index

- Significance index: is a measure that reflects the importance between the various project activities, and can be calculated as follows:

SI = E{(AD * SD) / ((AD + SL) * E(SD))}

with

SD: Simulated project Duration

AD: Activity Duration

SL: Activity Slack

E(x): Expected value of x

- The SI has been defined as a partial answer to the criticism on the criticality index.
- Rather than expressing an activity’s criticality by the probability concept, the SI aims at exposing the significance of individual activities and their impact on the total project duration.
- In some examples, the SI seems to provide more acceptable information about the relative importance of activities.

Critical Chain/Buffer Management: Protecting the schedule against project delays

- CC/BM introduces the idea of buffering projects, rather than individual activities, in a way in order to guarantee that the project deadline is met, and can therefore be considered as a new approach to assure better project control through project and feeding buffer management.
- Critical Chain/Buffer Management (CC/BM) approach of project scheduling:
- Step 1. Come up with aggressive estimates
- Step 2. Construct an as late as possible (ALAP) schedule – it is suggested to schedule each project activity as-late-as-possible nearby its predefined project deadline. This latest start schedule is quite risky since it makes every project activity part of the critical path which might put the project deadline into danger.
- Step 3. Identify the critical chain – critical chain defined as the longest chain in the project that determines the total project duration.
- Step 4. Determine appropriate buffer positions – positioning of buffers to protect the project deadline through the use of three types of buffers. Each buffer has a specific goal and needs to be positioned at the right place to protect the right part of the project data, as follows:
- Project buffer: A unique and single buffer to protect the project deadline
- Feeding buffer: Multiple buffers to protect parts of the critical chain
- Resource buffer: Multiple artificial buffers that act as warning signals to assure the availability of resources.
- Step 5. Determine appropriate buffer sizes
- Step 6. Insert buffers into the schedule

Aggressive activity time estimates: Protecting against activity delays

- Estimates for activity duration in the CC/BM approach are assumed to be aggressive estimates and refer to the distinction between the average estimate and the low-risk estimate of an activity duration.
- Inflating activity time estimates: Unrealistic project deadlines and self-fulfilling prophecies
- Aggressive time estimates: Removal of activity protection to obtain average or median time values

Critical Chain/Buffer Management: (Dis-)advantages of scheduling projects as-late-as-possible

- Traditional resource constrained scheduling: Earliest start schedule based on risk-free activity duration estimates
- Critical chain scheduling: Latest start schedule based on aggressive activity duration estimates.

Critical Chain/Buffer Management: Adding buffers to a project schedule

- Project buffer: A unique and single buffer to protect the project deadline
- Feeding buffer: Multiple buffers to protect parts of the critical chain
- Resource buffer: Multiple artificial buffers that act as warning signals to assure the availability of resources.

Critical Chain/Buffer Management: Sizing project and feeding buffers

- The CC/BM approach uses project and feeding buffers to add safety time to the project baseline schedule and to guarantee the timely completion of the project with a high probability.
- Buffers are sized according to the properties of the path or chain feeding those buffers, such as the length of the path, its total variance, its average resource use or the number of activities it contains.

Sizing CC/BM buffers: The cut and paste method

- buffer size = half of the duration of the longest path in the chain

Sizing CC/BM buffers: The root squared error method

- Root Squared Error Method: the sum of squares method accounts for known variation in activity durations. This method is often referred to as the sum of squares method since it takes the sum of the squared differences between the low risk duration and the aggressive duration into account.
- Buffer size = the square root of the sum of the squares of the difference between the low risk duration and the aggressive duration for each activity along the chain leading to the buffer.

Sizing CC/BM buffers: The adaptive procedure with density

- The adaptive procedure with density: The adaptive procedure with density (APD) takes the density of the subnetworks that feed into the buffer into account.
- Buffers are sized according to these subnetwork density values to assure that a higher number of precedence relations leads to a bigger buffer size to increase their power to absorb potential delays.
- The buffer is sized as the standard deviation of the path leading to the buffer scaled by a factor which is calculated by taking the density of the subnetwork merging into the buffer into account, as follows:

Buffer size = K x σpath

with

K: The scaling factor based on the subnetwork density

σpath: The standard deviation of the longest path feeding the buffer.

buffer size = standard deviation of the path leading to the buffer scaled by a factor which is calculated by taking the resource density into account.

- Network density: The network density of a subnetwork merging into the buffer is a measure of how dense the network is in terms of the number of activities and precedence relations between these activities. The network density used in the adaptive procedure with density is equal to the number of precedence relations divided by the number of activities in the subnetwork.
- Scale parameter K: The network density is then used to calculate the scale factor K that is equal to

K = 1 + network density

Sizing CC/BM buffers: The adaptive procedure with resource tightness

- The adaptive procedure with resource tightness (APRT) has been proposed that takes the scarceness or tightness of resources into account.
- Buffers are sized according to these resource tightness values to assure that a higher degree of resource tightness leads to a bigger buffer size to increase their power to absorb potential delays.
- The buffer is sized as the standard deviation of the path leading to the buffer scaled by a factor which is calculated by taking the resource tightness into account, as follows:

Buffer size = K x σpath

with - K: The scaling factor based on the resource tightness.

σpath: The standard deviation of the longest path feeding the buffer.

- buffer size = standard deviation of the path leading to the buffer scaled by a factor
- which is calculated by taking the resource tightness into account.
- The resource tightness is a measure of the degree of resource use along the time horizon of all activities on the chain merging into the buffer.

it compares the total resource work content used by these activities with the total resource work content available during this time horizon for all resources.

- Total work content used by all activities on the chain: The work content is equal to the activity duration multiplied by the resource demand.
- Total work content available along the length of the chain: The work content available is equal to the duration of the longest path in the chain multiplied by the resource availability of the resource.

The resource tightness is then calculated as the division of the two work contents, which leads to a value between 0 and 1, as follows:

- Resource tightness = total work content used / total work content available

Critical Chain/Buffer Management: Inserting buffers in a resource-constrained schedule

- Buffer insertion: The project and the feeding buffers are treated as extra activities without predefined resource requirements and must be placed in the schedule to act as a protection for potential delays.
- The buffers are placed at the end of a chain for which the buffer is created, leading to an increase in the project duration compared to the unbuffered project schedule.

Inserting buffers in a schedule: The problem with resource conflicts

- Inserting buffers in a resource feasible project schedule is one of the last steps in the Critical Chain/Buffer Management (CC/BM) approach.
- Inserting buffers often leads to resource conflicts in which some of the resources are overallocated.
- Ways to cope with resource conflicts:
- Allowing gaps in the chain
- Splitting buffers
- Resizing buffers