The previous post outlined the origins of Chaotic systems from a simple starting point of accumulated error. Managing Project Uncertainty, Meyer, Loch, and Pich, Sloan Management Review, Winter 2002, defines 4 types of uncertainty. These types are not related to the traditional techncial, market, people, cost, schedule, and qaultiy uncertainties. The question is how to manage in the presence of these uncertainties some of which come from the accumulating errors found in any incremental development system. There are four categories of uncertainty for projects include:
- Variation
- Foreseen uncertainty
- Unforeseen uncertainty
- Chaos
Variation can be modeled using a simple network chart (PERT or Critical Path) in which the sequence of activities in the project are arranged in a network. Planning for variation in the duration and path of each node and arch in the network results in a plan for the project.
Foreseen uncertainty involves identify project risks or chance nodes in the network where contingent actions can take place as the project proceeds depending on the actual outcomes from previous nodes in the network.
Unforeseen uncertainty can be represented in the network with project risk and chance nodes but only if the unforeseen chance node is actually recognized when is occurs and a contingency is developed as a result of the recognition.
When chaos occurs in the project, management must continually create a new network based on incremental learning at that point in time. In this case medium and long-term contingencies are not possible since foreseen and unforeseen uncertainty models cannot be developed.
Impact on Agile Project Management
For an agile project management approach to work, a processes must be in place to deal with all four uncertainty sources.
- Variation - simulate the paths through the network with probabilistic models (Monte Carlo). Insert buffers to provide built in management reserve in front of critical and near-critical paths in the network. These locations can be identified with the Monte Carlo tool. Set control limits for critical and near-critical path items at boundaries appropriate to the experience, technical risk, and capabilities of the project team. Monitor deviation from these control limits on periodic boundaries
- Foreseen Uncertainty - anticipate alternative paths, provide contingent funding for these alternatives, and manage risk through contingency planning and decision analysis.
- Unforeseen Uncertainty - provide the means to add or delete tasks to the network when the unforeseen uncertainty appears. Plan iteratively on fine grained boundaries. Continuously scan for unanticipated influences on the plan.
- Chaos - continuous iteration of the plan and the deliverables. Repeatably verify requirements, deliverables quality, performance, and the go/no-go decisions.