The term Pragmatic Agile gets a bad rap. People usually use it to describe “Bad” Agile, with people cutting corners or avoiding difficult change. I’ve always felt that was being unfair. It feels judgmental and idealistic. Maybe even dogmatic. I was listening to a recent episode of John Willis’ Profound Podcast with Jabe Bloom on Navigating Complexity with Pragmatic Philosophy and it helped me realise that Pragmatic Agile is actually “Good” Agile!
This post is my attempt to formalise my thinking and describe why I came to this conclusion. If you want to dig into some of these ideas in more detail I’d recommend the above podcast as a starting point.
Reasoning
Let’s start by describing three forms of reasoning:
- Deductive reasoning is about truth and making absolute statements based on logic.
- Inductive reasoning is about belief and making rational and probable statements based on prior experience.
- Abductive reasoning is about making educated guesses based on observations.
One key differentiation between these is that with deductive and inductive reasoning, there is a single correct answer. However, with abductive reasoning, there are multiple plausible answers.
Pragmatism
That leads to the idea of Pragmatism as a movement, led by Charles Sanders Peirce. It is the Pragmatism movement that came up with the concept of abductive reasoning. The Wikipedia definition of Pragmatism is:
a philosophical tradition that views language and thought as tools for prediction, problem solving, and action, rather than describing, representing, or mirroring reality.
Pragmatism focuses more on whether something is useful or productive, rather than whether it is true. On alignment of direction rather than agreement on absolutes. On being good enough rather than being perfect. Thus Pragmatism suggests that there is a diminishing point of return in perfecting an approach, and that point is always contextual.
Pragmatic Agile
Given the above, we can define Pragmatic Agile as an Agile approach that is good enough, useful, and productive in a particular context. The opposite would be an Agile approach that tries to be pure, perfect, and proper regardless of context.
Now, I’m pretty sure that when people disparage Pragmatic Agile, they don’t think there is one true pure, perfect and proper Agile. Rather, they are referring to Lazy Agile. Or maybe Indolent Agile.
Thus, when I talk about Strategy Deployment as an Agile approach in which “propositions emerge from the people closest to the context,” I’m describing a Pragmatic Agile approach. It’s no coincidence that this updated definition was inspired by another episode of John Willis’ Profound Podcast with Jabe. The propositions are educated guesses, the context is highly relevant, and the goal is to make good enough progress towards strategic agility.