Monday, May 19, 2014

Cynefin

Heyhey!

Belgium Testing Days 2014 took place a couple of months ago. Again, it was a heart-warming experience filled with good times among the best in our industry. Lots of old friends, some new ones and loads of knowledge shared. I think it's safe to say that I loved every second of my stay in beautiful Brugge.

One of the absolute highlights was Lisa Crispin's workshop about changing testing mindset. There's too much to recap from that workshop so I'll just concentrate to one of the subjects that has become increasingly popular among my colleagues, especially in Agile and Lean circles: namely Cynefin.

Now, I have to admit that I don't know a great deal about Cynefin. It's just an area of interest that has caught my attention stronger than usual. I sense that there might be something that could explain my way of looking at the world, and how testing and quality management work in it.

So, Cynefin is basically a framework for explaining the evolutionary nature of complex systems. To bring more depth into this description, I quote Wikipedia:
"The framework provides a typology of contexts that guides what sort of explanations or solutions might apply. It draws on research into complex adaptive systems theory, cognitive science, anthropology, and narrative patterns, as well as evolutionary psychology, to describe problems, situations, and systems. It "explores the relationship between man, experience, and context" and proposes new approaches to communication, decision-making, policy-making, and knowledge management in complex social environments."
As a context-driven quality professional I like this description a lot. There's huge potential, and as far as I know, some of the brightest minds of our industry are already implementing this framework into their work environment. And I will too, after I've studied it a bit.

Cynefin divides into five domain segments:
  1. Obvious/simple. Problems are obvious/simple and solutions require minimal effort, and expertise. The approach on problems is that at first they are recognized, then categorized and finally solved, often using an industry "best practice", preferably a scripted one.
  2. Complicated. Problems are "known unknowns". Questions and the means to answer them are known. Steering to the right direction requires expertise, but the work is evolutionary, not revolutionary. The approach on problems is that at first they are recognized, then analyzed by experts, who then plan for the next steps. Finally the plan is executed.
  3. Complex. Problems are "unknown unknowns". Questions and the means to answer them are not known. To understand the problems and to estimate anything whatsoever requires exploration. The approach on problems is that at first you develop and experiment, then you evaluate and iterate. You iterate as much as is necessary in order to move to problem to Complicated domain.
  4. Chaotic. Problems require novel solutions. Problems are wild and they need to be contained in order to control them. "Good enough" works in this domain until something better comes along. The goal is to stop bleeding so that further steps can be taken. Once you've contained the problem, you move it to other domain.
  5. Disorder. The space in the middle. If you don't know in which previous quadrant you are, you are in this domain. The goal is that you should move into one of the previous quadrants. By gathering more information and acting based on this information you can achieve this.
This goes quite beautifully with The Five Orders Of Ignorance:
  1. 0th Order - The Lack Of Ignorance. You provably know something.
  2. 1st Order - The Lack Of Knowledge. You don't know something.
  3. 2nd Order - The Lack Of Awareness. You don't know that you don't know something.
  4. 3rd Order - The Lack Of Process. You don’t know of a suitably efficient way to find out that you don’t know that you don’t know something.
  5. 4th Order - Meta Ignorance. You don't know about the orders of ignorance.
My humble opinion is that testers are needed in all these levels, and that testers should know how to operate in these levels. We produce information. First and foremost. We solve the problems that ignorance has bestowed over organizations, and we do that by providing information. True, others can do that too, but we put our full focus on it and we are the very best at it.

So, if you don't want to dwell in chaos or disorder, hire yourself a tester. I strongly recommend.

Cheers,

Sami

1 comment:

  1. Very well written. You can be a very good and professional writer. You are having the brilliant writing skills. You should start article writing also. Good luck

    ReplyDelete