Project Decision and Risk Analysis

Journal

Back to Project Decision and Risk Analysis Journal

Project Risk Management and Decision Analysis: Articles and White Papers 

Software Project Management under Uncertainties

PERT, Critical Path Method, Monte Carlo Simulations

Project planning usually starts with the development of work breakdown structure (WBS). The WBS is a hierarchical set of independent tasks. As a part of WBS, development costs and duration of tasks need to be estimated. After defining the set of tasks, project managers define the precedence relationship that exists among tasks. This information can be presented in the form of precedence networks and Gantt charts. The time needed to complete the project is defined by the longest path through the network. This path is called the critical path. Project managers can use the critical path method (CPM), which is available in most project management software, to identify the critical path [4,8]. 

In most cases, duration, start and finish time, cost, and other task parameters are uncertain. The PERT model (Program Evaluation and Review Technique) was developed in 1950s to address uncertainty in the estimation of project parameters. According to classic PERT, expected task duration is calculated as the weighted average of the most optimistic, the most pessimistic, and the most likely time estimates. The expected duration of any path on the precedence network can be found by summing up the expected durations. The main problem with classic PERT is that it gives accurate results only if there is a single dominant path through a precedence network. When a single path is not dominant, classic PERT usually provides overly optimistic results. Fortunately, most software projects have a single dominant path [3].

To overcome these challenges Monte Carlo simulations can be used as one of the alternatives. Monte Carlo simulations are a process that repeatedly sets values for each random variable by sampling from each variable’s statistical distribution. The variables can be task duration, cost, start and finish time, etc. They are used to calculate the critical path, slack values, etc. Monte Carlo simulations have been proven an effective methodology for the analysis of project schedule with uncertainties. A number of software systems employ Monte Carlo simulations for projects [6]. However, Monte Carlo simulation is rarely used in software project management because of two main reasons. First, most software systems require at least some knowledge of statistics and risk analysis to define input data and interpret the results of the analysis. Second, Monte Carlo simulations for software development does not provide accurate estimates of project parameters (duration, finish time, cost, etc.) due to the greater uncertainties related to requirements, tools, resources, budget, etc. compared to many other industries.

Another approach to project scheduling with uncertainties was developed by Goldratt. Goldratt applied the theory of constraints (TOC) to project management [5,10]. The cornerstone of TOC is resource constrained critical path called a critical chain. Goldratt’s approach is based on a deterministic critical path method. To deal with uncertainties, Goldratt suggests using project buffers and encourages early task completion. Theory of constraints is well accepted in project management; however, the use of this approach in software development industry remains relatively low [4].



 

Introduction

Software Project Management with Heuristics and Biases

www.intaver.com products      solutions      support      partners      technology      company

Copyright © Intaver Institute Inc., 2002-2006. All Rights Reserved