Cynefin and Its Domains

Learn about Cynefin, a framework for understanding uncertainty and complexity.

ABOUT THIS CHAPTER   Software projects have long struggled with the question of how to deal with complexity, which has been the source of many challenges, including low quality, late projects, and outright failure.

This chapter presents a framework for understanding uncertainty and complexity known as Cynefin. It describes how Cynefin applies to Sequential and Agile software problems. The chapter then presents a model for making decisions in the face of uncertainty and complexity known as OODA. It describes cases in which OODA decision making provides advantages over the typical Sequential decision-making approaches.

Cynefin

The Cynefin framework (pronounced Kuh-NEV-in) was created by David Snowden at IBM in the late 1990s (Kurtz, 2003). It has continued to be evolved by Snowden and others since then (Snowden, 2007). Snowden describes Cynefin as a “sensemaking framework.” It helps in understanding the kinds of tactics that will be useful depending on a situation’s complexity and uncertainty.

The Cynefin framework consists of five domains. Each domain has its own attributes and suggested responses. The domains are illustrated below.

Cynefin is a Welsh word that means “habitat” or “neighborhood.” The domains are not considered to be categories; rather they are considered to be clusters of meanings, which is the source of the “habitat” emphasis in the name.

The Complex and Complicated domains are the most relevant to software development. All five domains are described in the following sections to provide context.

Obvious domain

In the Obvious domain, problems are well understood, and solutions are self-evident. Literally, everyone agrees on the one correct answer. The relationship between cause and effect is simple and direct. This is the realm of pattern application: programmed, proceduralized, rote behavior.

The approach to Obvious problems is described in the framework as

sense  categorize respondsense \space \to \space categorize \space \to respond ...