by Andy Hunt, January 25, 2022
A software development “process” is often the wrong tool for the job. The GROWS Method® is not about process, it’s about growing an ecosystem to support learning, exploration, and consistent, reliable, continuous delivery. You’ll grow your code, your skills, and your organization’s capabilities.
It’s not a process, it’s an ecosystem
A process is not always a bad thing. There are many aspects of work even within software development where fixed rules and a rigid process may be appropriate. But the idea of following a process may be more limited than you think.
The Cynefin framework (see Dave Snowden’s work) outlines four different problem domains that we encounter. The very concept of a process is only helpful in two of those four domains:
Use of a process is perfect in the Clear domain. It might be a useful part of the Complicated domain. It’s generally not useful at all in the Complex or Chaos domains. And within those first two domains, where a process is helpful, you probably shouldn’t be developing custom software in the first place.
We develop software from scratch because we’re trying to doing something that hasn’t been done before. If it has been done before, then you’re probably better off buying it or renting it as a service. In many cases it’s so simple and obvious that it’s now a commodity. A commodity tends to drives the price down; the profit margins become razor-thin.
So when we develop custom software, we’re probably in the Complex domain. That means that the development team, the software product itself, our interactions with the users, sponsors, other teams, the market… all form a network of non-linear, interrelated, complex adaptive systems. By definition, a linear process is the wrong tool for the non-linear job.
Process won’t save you, growth will.
In the GROWS Method®, we recommend a foundation of habits that focus on goals of growing safety, reliability, learning, and continuous deliverability.
We say “grow,” not “adopt,” because it won’t happen overnight. It takes energy, time, and patience. You can’t buy it in a box. You can’t impose rules and a bureaucracy. Folks still try these approaches, and still fail consistently.
You’d think we’d know better by now, but the “buy this process in a box”-style thinking is neither “safe” nor effective. We can’t give you a linear process for success because there is no such thing. It does not exist; it cannot exist in this context.
What we can give you are the habits of high-performing teams, successful developers and organizations. That’s a great starting point, but it’s not enough.
For those skill areas that aren’t easily distilled into a simple habit or practice, we offer the GROWS Thinking Guides™: introductions to understanding and exploration in areas such as Systems Thinking, Psychological Safety, The OODA Loop, Dreyfus Model of Skill Acquisition, Cynefin framework, Wardley Mapping, and so on. These are models and ways of thinking. They are not prescriptive processes. Instead, they offer ways of making sense of the complex systems we’re enmeshed in.
As you grow your understanding, you’ll grow your code, your skills, and your organization’s capabilities.
You’ll keep growing success.
Have a look at our initial habits, online for free at growsmethod.com.
— Andy Hunt