You are driving on a highway and fuel runs out. Is that a problem? Yes, I think. You are developing a software but requirements keep changing. Is that a problem? Yes, I think. Are both the problems similar in nature or one is more complex than the other? How do we classify the problems? Are there any such problem domains? The answers to these questions is, yes, there are ways to classify problems. Erwin, a PST and founder of Bitgenics has explained one such models, Cynefin framework superbly. This inspired me to share another such model, the Stacey matrix.
The Stacey matrix was developed by Ralph D. Stacey as a model to approach complex situations in management settings. It also helps in selecting appropriate management actions in complex adaptive situations.
Stacey matrix has certainty on the horizontal axis and agreement on the vertical axis.
Close to certainty:
When things related to an issue or decision are well known or can be determined easily i.e they are very much certain. For ex: If fuel is over the vehicle will stop.
Far from certainty:
On the other end of the horizontal axis are the issues/decisions about which nothing is certain i.e. nothing can be said with certainty about it. For ex: Predicting when it is going to rain tomorrow.
Close to Agreement:
On the vertical axis at the lower end we have close to agreement i.e. everyone is in agreement about everything related to the issue or decision.
Far from Agreement:
On the vertical axis at the other end we have far from agreement i.e. there is no agreement about anything related to the issue or decision.
Based on how close to certainty or agreement we are, different approaches to issue management or decision making can be taken. As is clear from above figure of Stacey matrix; there are different approaches in each scenario.
Stacey Matrix for software
A slightly modified version of the Stacey Matrix can be utilised to categorise software problems in various domains. Consider, the vertical axis represents software requirements. The horizontal axis representing technology. And there is an additional z-axis which represents the people involved.
The Stacey matrix would now look like
When for a problem, the requirements are agreed upon, technology is certain and people are predictable i.e. everything about the problem is known, it is the simple domain. In the simple domain, there are well established knowns. There is a clear relationship between cause and effect. In such a scenario, best practices work. The command and control leadership is suited for simple domain. From software perspective, traditional or waterfall development model best fits here.
When requirements change a little or there are technology shifts; the problem is not as simple as it is in simple domain. Now there are a few unknowns. This domain where there are lot of knowns and few unknowns is termed as complicated domain. Here, there is more predictability than unpredictability. Experts are needed to analyse the situation. In this domain, the supervisory leadership works. Good practices help in such situations. Kanban, Six Sigma, CMMi models can be implemented in these scenarios.
Technology is not certain, requirements change very often or people are not predictable i.e. there are more unknowns than knowns. Such a problem domain is known as complex domain. There is more unpredictability than predictability. Leaders need to probe, sense and act. They need to create boundaries within which people can call for action. Good or best practices will not work in this domain since there are lot of unknowns. What helps here are the emergent practices. The leadership which suits this domain is “servant-leadership”, where the leader serves his/her people.
From software perspective, Agile ways of working, emergent practices, Scrum best fits the needs here.
This domain is characterised by lot of uncertainty, unpredictability and disagreement. In this domain there is no clarity on the requirements, people or technology. There is high turbulence; no direct relation between cause and effect. None of the good, best or emergent practices work in these domain. The leadership has to act first, sense and then respond. Leadership needs to bring some order to the chaos first and then look for solutions. The leadership which suits to this domain is entrepreneurship.
Whenever in a situation to solve a problem; identify to which domain it belongs on the Stacey Matrix, then take decisions according. If we try to implement strategies of simple domain to problems of complex domain, we will soon end up in the chaotic domain.