Search Help:

## Decision Trees

RiskyProject allows the user to perform an analysis of different scenarios using decision trees. Decision trees can be created based on RiskyProject's project schedule and presented using Vanguard's Decision Pro software (see www.vanguardsw.com). RiskyProject can export data to the text files and then used as an input in Decision Pro. Alternatively, Decision Pro can be launched directly from RiskyProject from the menu or by clicking the toolbar button.

The best way to explain how the integration between RiskyProject and Vanguard works and how you create a decision tree is by analyzing an example. The sample that will be used in this example (RP_Decision.alm) is available in the RiskyProject sample files.

This example represents a high-level schedule for a software development project. The schedule includes two alternatives. Both alternatives include four different phases of the project: inception, elaboration, construction, and transition. The difference between first and second alternatives is that in the second alternative, the elaboration phase includes three iterations. The duration of each iteration phase is 8 days; therefore, the duration of entire elaboration phase is 24 days total. The duration of the elaboration phase in the first alternative is 12 days. Each task has assigned resources. Variable costs for the task are calculated based on the rate of each resource. Fixed costs are not used for this example.
The purpose of a decision tree analysis is to determine which alternative should to be taken based on minimum cost or minimum duration. Cost is calculated as a sum of variable and fixed cost of all tasks for the alternative. Duration is calculated as a sum for duration of all tasks for the alternative._

Any project schedule can be converted to a decision tree. However, it is recommended to perform decision tree analysis for the project schedule with clear defined alternatives. Otherwise, decision tree can be very complex and will not help to identify better course of actions._

### Decision Nodes

To convert the project schedule to a decision tree, we need to identify uncertainties in the project schedule and express them as event (chance) nodes or decision nodes. Event (chance) nodes and decision nodes can appear if there is a branching in the schedule. In other words, if task has two or more successors, it becomes an event (chance) or decision node of the decision tree. The schedule in this example has uncertainties that are related to the iterations of elaboration phase for the second alternative. After the completion of first elaboration iteration, there is 50% chance that next task will be construction and 50% chance that next task will be the elaboration iteration two (task "Elaboration 1"). In addition, after the completion of second elaboration iteration, there is 50% chance that next task will be construction and 50% chance that next task will elaboration iteration three (task "Elaboration 2"). Elaboration can be completed early because of the efficient use of internal resources, knowledge of business and product, etc.

### Defining decision node types

All decision nodes must have at least two successors.

1. Double-click on the task ID of the task that you want to add a decision node.
2. Click the Decision tab.
3. Select the decision node type (Decision, Event, or End) option.
4. If you selected the Event (chance) node option, you must enter the chance associated with each successor in the Chance column. The Chances values do not necessarily need to add up to 100% as RiskyProject will calculate a normalized chance, which will be used in the decision tree. You cannot assign an event node to the task, where at least one successor is a summary task.

• The default node type is a decision node. Decision nodes will be assigned automatically to the root of the schedules. All tasks of level one (upper level of the project schedule), which do not have predecessors, will automatically become alternatives.
• You can also use an end node for the task. Cost or duration for the end node will represent the sum of all cost or durations for all the successors.
• The Decision tab will not allow you to define node type for a task that has one or no successors.

### Exporting a Decision Tree

When you launch Decision Pro directly, RiskyProject will determine if Decision Pro is installed on the computer. If Decision Pro is not installed, a message box will open which will direct you to the Decision Pro web site.
When you export data to Decision Pro, you will need to specify some parameters:

• The type of decision Tree do you need (based on cost or duration)
• To reduce the size of decision tree, you can choose not to display intermediate tasks. Intermediate tasks have one successor and one predecessor.

Summary tasks will not be converted to nodes in the Decision Tree. Successors and predecessors of summary tasks will become successors and predecessors of their subtasks.

### Launching Decision Pro

1. From the File menu, choose Export Decision Pro. This exports the project data into a Decision Pro text file (extension .txt).
2. Select the Decision Tree type depending upon the analysis you want to do:
• Minimize cost
• Minimize sum of task durations
1. Select Remove intermediate tasks for decision tree if you want to limit the size of the decision tree hiding intermediate tasks.
2. Once you have made you selections, click OK RiskyProject will perform a Monte Carlo simulations (if the results have not already been calculated).A decision tree can only be generated based on the result of analysis in RiskyProject.
3. If required, you can modify the decision tree by right-clicking on the diagram and selecting a command. In addition, you may need to recalculate the decision tree. For more information about how to work with the decision tree, read the Decision Pro documentation.

The decision tree above shows that Alternative 1 has the lowest duration of 32 days and is a candidate for the project plan. An analysis of the same project, but using cost as the value measure can be implemented in a similar way, but the export to Decision Pro should be done separately.

If you launched Decision Pro from within RiskyProject, when you close it, you will be prompted to save a temporary file that was used to create decision tree. If you did not change the decision tree generated from RiskyProject, this step is not required as you can regenerate the decision tree based on the project schedule at any time.

When you created the original project schedule, you defined uncertainties related to internal development issues for the project team. These uncertainties are expressed in probabilities for chance nodes, representing iterations in the elaboration phase for the second alternative. However, you did not add any risks to the alternative.

### Viewing how risks affect the decision tree

To see how risks will affect the decision tree, you will need to add the risks to the project. Changes in requirements are one of the greatest risks that software projects face (RP_DecisionWithRisks.alm).

1. To account for this risk in the project, assign the risk Requirements change to the elaboration phase in Alternative 1 and for all the Elaboration iterations in Alternative 2. The result for each iteration can be shown to the client; therefore, the risk of "Requirements change" can be reduced on sequential iterations.
2. To analyze this risk in the decision tree, enter this risk in Risk tab of Task Information dialog box for each elaboration task.
3. Perform another Monte Carlo simulations on the project and generate a new decision tree:

This decision tree shows that alternative two (with elaboration iterations) will be more effective in terms of duration. Therefore, you can see that if we apply risks to the project schedule different alternatives can be selected.

The last example shows that using a combination of risk analysis and decision tree in tandem on the project schedule allows managers to make informed decisions.