Understanding the nature of organizations and the levels of complexity of decision-making within such organizations is pivotal to address the question – where is Agile used?
The Cynefin Framework is one of the strategic tools which classifies organizational space into four distinct domains. It is essentially a decision framework that recognises the causal differences that exist between different types of systems, proposing new approaches to decision making in complex social environments.
Figure: Cynefin framework
The three basic types of systems involved in Cynefin are Ordered, Complex and Chaotic. Ordered systems are further divided into Simple and Complicated systems. This leaves us with five domains in total – Simple, Complicated, Complex, Chaotic and Disorder.
Let us deconstruct each of the systems in a little more detail:
- Simple domain – an ordered system where the relationship between cause and effect exists, is predictable in advance and is self-evident or obvious to any reasonable person.
- In the complicated domain we have an ordered system where there is a right answer and where a relationship does exist between cause and effect, however, the answer is not self-evident and requires analysis and/or the application of expert knowledge.
- In the complex domain, the relationship between cause and effect can only be perceived in retrospect and the results are unpredictable. Here, we need to create safe-to-fail experiments and not attempt to create fail safe design. Most types of innovation. Professional training or best practices are replaced with probing different approaches and ideas, sensing the results/feedback to see what works and what doesn’t, and responding appropriately (by amplifying and dampening our probes).
- In the chaotic domain no cause and effect relationship can be determined. We have to stabilize the position very quickly!
- Disorder! This domain includes the state of not knowing what type of casualty exists or what space you are in. The problem here is that we interpret and assess the situation we are in based on our personal preference for action, reverting to our own comfort zones. In this situation, it is recommended to gather more information, so that we move into a known domain and then take the appropriate action.
Why Is Knowing Cynefin Framework Important?
In a software domain, there are two Process Control systems –
- Empirical Process Control and
- Defined Process Control systems.
FIGURE Empirical and Defined process
In an Empirical process, we start with what we know and then build incrementally. We rely on frequent feedback loops that are necessary for the evolution of a Product. This often leads us into a complex and complicated domain where we might not be able to fix and solve everything upfront.
|“It is typical to adopt the defined (theoretical) modeling approach when the underlying mechanisms by which a process operates are reasonably well understood. When the process is too complicated for the defined approach, the empirical approach is the appropriate choice.” —http://jeffsutherland.org/Scrum/Schwaber_on_CMM.html|
Empiricism is one of the inherent attributes of Agile, and Scrum specifically relies on frequent inspect and adapt cycles, and uses effective tools such as shorter iterations and Retrospectives which help us operate in such complex and complicated domains.
On the contrary, a Defined process control relies on sequential stages that start from requirement gathering, analysis followed by development and testing. Here we assume we understand every step, and given a well-Defined set of inputs produces the same set of outputs every time.