Decision management in programs and Agile projects
This article follows on from Agile, programs and benefits management.
In 1990, management guru Henry Mintzberg defined a strategy development model based on the level of uncertainty. His model is interesting as it examines a context of decision making very comparable to the uncertainty-ambiguity context displayed in Figure 1 below and can therefore be easily related to programs and Agile methods.
Figure 1: Projects, Programs and Agile in Relation to Uncertainty and Ambiguity (© Thiry, 2010)
According to Mintzberg in his work The Design School: Reconsidering the Basic Premises of Strategic Management (1990), a strategist/decision-maker operating in a low uncertainty condition, where the rate of change is slow and complexity is low, will favour a rational decision-making model and use traditional decision-making tools. Under high uncertainty, when the rate of change is fast and complexity is high, rational decision models are not valid because data is not reliable and the situation changes too quickly.
Mintzberg suggests the use of a radical model, which consists of doing what you can until the situation settles down. This is close to the approach used by Agile methods: do what you can for today and tomorrow we will see what we have achieved and act in consequence.
Although interesting, the radical model is not very helpful to managing programs and, in fact, to managing Agile projects that need some form of control. Since then, other authors, like Karl Weick in Sensemaking in Organizations (1995), have generated more advanced concepts like sensemaking and enactment.
The decision management learning cycle
Sensemaking roughly consists of setting up a decision management system whereby key stakeholders take the time to discuss issues, to agree a shared strategic vision; this sensemaking process is repeated to make series of small decisions on an ongoing basis in alignment with this vision. This is similar to the concept of iterative development, which forms the basis of Agile methods.
Sensemaking is relevant for relatively defined Agile projects and programs that have a low level of ambiguity where the reliability of predictions is refined through each iteration or cycle; this is what Larman, in 2004’s Agile and Iterative Development: A Manager’s Guide called adaptive planning in contrast to predictive planning.
Enactment could be described as a feedback loop that enables the stakeholder group to confirm and/or realign the vision, if necessary, based on results. As the situation evolves, results are evaluated and new decisions are made that continually reinforce or realign the vision according to reality. This evolutionary and adaptive ratifying concept is necessary in the case of complex programs and innovative Agile development.
This sensemaking-enactment concept forms the basis of the Decision Management system displayed in Figure 2 below. The first feature of this system is that it is cyclical, driven by a continual feedback loop based on actual results. The learning cycle consists of understanding stakeholder expectations, prioritising them and developing viable options to enable choice.
The performance cycle consists of delivering products, capabilities and, ultimately, benefits to the organisation. Based on the analysis of these results, expectations are adjusted to reflect a new situation or realign the strategy to new developments. This is clearly not a case of ‘scope creep’ or ‘sloppy early requirements’ but rather a sound and well-organised development method.
Figure 2: Decision Management System (©Thiry, 2010)
Both program and Agile management are driven by a clear vision that can be broad at the start and needs to be refined as the program/project evolves. It is driven by the delivery of a series of prioritised capabilities/benefits that, through continual feedback, influence the next stage.
Evolutionary methods assume that the solution can evolve and be refined during implementation rather than be ‘set’ in an early plan. Adaptive methods imply that the team will adapt components of the solution in response to feedback on early results. The combination of evolutionary and adaptive is also known as iterative development.
One of the key aspects of good iterative development is user involvement; one of the key aspects of good program management is stakeholder engagement. Without the involvement of decision-makers during the process, lots of time and effort will be lost redesigning solutions that are not satisfactory.
Program and Agile Management: Two birds of a feather? series: