Monday, September 10, 2018

Why one size of "Agile" can't fit all

Have you ever wondered why there isn't one "Agile" approach that works everywhere? After all, being agile is about being flexible - so why not invent a sufficiently flexible method that's suitable in every context?

This model is an attempt at explaining:

Your context defines your approach!

The domain of Understanding

On the horizontal axis, we have the domain of "Understanding". It's what we know and understand about the things we do. Discounting dumb mistakes, we can just assume that we put our understanding to good use.


In the Known, we're very clear what the outcome of our actions is, and therefore, which action is best - for example, what happens when we produce 100000 more of the product we have already produced 1000000 of, that is: mass production, factory work.

Working with Known domain basically centers around doing the same thing as good as we can.
We try to minimize cost and effort in our attempts to maximize productivity.

Dwelling in the Known is about optimizing.


In the Unknown, we either lack prerequisite information on the consequence of our actions - or there are simply too many possible outcomes to predict which one we will receive.

Working with the Unknown tends to boil down to eliminating potential undesirable outcomes until the only possible outcomes left are desirable. It means doing variations of things we know until we know what works best - and what doesn't.
We try to maximize the result of doing something successful while systematically evading the things we know to be unsuccessful - we explore.

Dwelling in the Unknown is about exploring.


The Unknowable is the realm where regardless of how much information we had, we still couldn't predict the outcome. The Unknowable is full of opportunities - and that's what makes it attractive. Untapped business opportunities only reside in this domain. A new board of Minesweeper would be a case of the "Unknowable".

An example of the Unknowable would be next week's lottery numbers - a future action has to occur before we have a chance of knowing the result of our action.

Working with the Unknowable is taking best guesses at what might potentially work and hoping that we don't hit on something we can't recoup from. It means trying out something we haven't tried before - and learning from experience.

Dwelling in the Unknown is about discovering.

The domain of  Risk

On the vertical axis, we have the domain of "Risk", or "Control". It's how well we can influence the outcome of our actions, how likely a predicted result can be produced. Again, discounting dumb mistakes, we can just assume that our controls work as designed.


Working with controlled processes, we would deterministically get what we bargained for. For example, dropping a needle will always result in a needle on the floor, everything else would be outlandish.

Controlled processes can be fine-tuned. We try to eliminate any activity that doesn't result in the desired outcome and introduce more activity that does get us the desired outcome.

Dwelling in the Controlled is about simplifying.


There's a lot of uncontrolled stuff - things that either simply aren't likely enough to warrant a control action or things that are off our radar. A typical example of the Uncontrolled may be the likelihood of a Nuclear Meltdown causing fallout and radiation poisoning our Lead Developer. We might simply choose to keep this risk uncontrolled, because investing into ABC-Suits for our office doesn't sound like the most sensible way of spending money.

Uncontrolled factors in our processes are risky. There are risks we choose to take knowingly - and risks we simply forgot about. While it's haphazard to take high impact risks with simple mitigation plans, we can never eliminate all risks we can think of.

Uncontrolled processes can be improved by reducing the impact of variation.

Dwelling in the Uncontrolled is about standardizing.


And finally, there's the uncontrollable stuff. Those are things we couldn't control even if we tried to - for example, flu season. We can get flu shots, but we can't guarantee this year's virus isn't resistant to the vaccine. We have to live with the Uncontrollable and hope it doesn't kill us.

At best, we can try to pull things from the Uncontrollable into the realm of the Controllable. That may work best by changing our strategy to not rely on uncontrollable things.

Dwelling in the Uncontrollable is about stabilizing.

The Domains

Having explained the model, let's take a really short look at each of the quadrants:


Competing in this area, the winner is determined mostly by efficiency.

Known & Controlled

Here, we can reliably plan and trust in the plan's execution. The best way forward is to create the best plan we can think of and follow it through.
Given two competing organizations, the one with the most efficient process wins.

Known & Uncontrolled

Our plan may be disrupted by day-to-day events, slowing us down, leading to extra costs and causing inefficiency. The best way forward is to learn from mistakes, improve and return to the plan.
Given two competing organizations, the one who is best at eliminating errors wins.

Known & Uncontrollable

Our plan can also be disrupted by events outside our sphere of influence and control. This may throw us off track, requiring in major efforts to return to plan. The best stratetgy is to have a watchful eye when something Uncontrollable infringes on our process and design a way to make the process resilient to identified disruptions.

Given two competing organizations, the one with the most resilience wins.


Competing in this area, the winner is determined by speed of learning.

Unknown & Controlled

Having a clear way of taking steps to reach something that is either useful or not - and we use simple experiments to determine our path. We make the Unknown Known, then optimize.

Given two competing organizations, the one who can turn experiments into results faster wins.

Unknown & Uncontrolled

There is unpredictability in both process and in the results. Our best strategy forward is one of small steps to minimize the risk of having variance leading to undesirable outcomes. We build upon good results and backtrack from bad results.

Given two competing organizations, the one who is most scrutinous at dealing with problems wins.

Unknown & Uncontrollable

There's a constant danger that we're thrown off-track and we don't even know what the right track is., much less what the "best" track would be. We need to safeguard our path with measurements, as the path might collapse right under our feet. We constantly need to innovate in order just to maintain that which we have.

Given two competing organizations, the one that can adapt to circumstance best wins.


In this area, those who happen not to stumble upon anything of value lose by default. On the other side, there's no guarantee of winning, either.

Unknowable & Controlled

Science is full of the Unknowable. We hypothesize, we explore - and we see if we're right. The most solid guesses lead to something we can build upon. When we discover something of value, we still need to explore the context until we have something workable.

There is no predictable or reproducible winning strategy, but if we have a means of turning discovered value into profit, we're more likely to succeed.

Unknowable & Uncontrolled

Being exposed to an unfamiliar environment requires us to make the best use out of whatever means we have. If we can't manage to get into familiar terrain, we might at least familiarize ourselves with the terrain, then work from there.

Those who lose have no success story to tell, while those who won oftentimes make it look like their success was planned all the time.

Unknowable & Uncontrollable

There is no predictable strategy for anything. We can try something - and if it works, we try more of it to see if it still works. And just because something didn't work, it doesn't mean it was bad. It might have been the right thing turning out wrong.

In this realm, everyone who manages to survive is a winner.


What does "succeeding with agile" mean? It depends on what you're looking for.
Those who operate in known, controlled circumstances will be much more successful with improved planning - while those who operate in unknowable, uncontrolled circumstances are served best by not wasting time on planning.
Those who try to adapt to external risk in known processes need a different strategy than those who explore in a lab environment.

None of these environments is pure. Oftentimes, we have some things we know and control, while other things are neither known nor controllable. It would depend on what the ratio of these areas is in our work - and where we want that ratio to be.

What does that mean for agility?

We need to determine which circumstances we are in, then tailor our approach to doing that which is most likely to be a winning strategy. And we must know many different approaches, in order to select that which helps us best.

We're not served well by introducing Scrum into a Known/Controlled environment that would perform better with a linear approach - and we're not served well by introducing SAFe into an environment that would have their problems solved by Six Sigma. Likewise, we're not helping anyone by putting Kanban on top of an undetermined, unpredictable process.

What is appropriate where - fully depends on where we are and where we want to go.

And what does that mean for agile practitioners?

There is no universal context that makes any approach valid or invalid. As practitioners, we must:

  • Leave our dogmatism
  • Tailor "agility" to context
  • Understand and remove hindering constraints
  • Acknowledge Unknowns and seek help
  • Remember that "agility" isn't the end goal
  • Recognise that there is more to "agile" than "agile"

And that's why we came up with Agnostic Agile.

Saturday, September 1, 2018

Why "Agile" rarely works

Have you ever wondered why every organization wants to be agile, yet very few managers are? 
In this article, I will explore a highly philosophical model to attempt an answer.

TL;DR: Because it means changing how we see reality - and that's a price few are willing to pay!

Let's explore the model:

Yes, the main terms are German - because I realized that the English language uses the same term for "how we see the world" and "how we think the world is" - a distinction that clearly exists in the German language. Then again, I use the term "world model" - so let's float with English. Let's take a look at the model from right to left. I will just gloss over the deep concepts of these terms, because this is just a quick glance rather than a scientific essay.


Reality does not care for us - it's just us who are affected by it. The better we get at predicting how reality will respond to our interactions, the more we start to believe that we are "right" about reality - while essentially, it's just congruence between our world model and reality around us.
For example, a team might just do what they do - oftentimes, oblivious of their managers' thoughts and without regards to whether any manager is even around.


As we observe or interact with reality, it affects us - what we feel, see, how we classify things, and what we would do next.
Our impressions are strongly filtered: First, we only receive a limited amount of impressions - essential information may exist outside our impressions. Second, we have a strong tendency to only receive those impressions we are looking for.

As a specific example: A traditional manager observes an agile team in action. The manager might get the impression that "this team is working laissez-faire" because nobody is checking on people, and might also get the impression that "this can't work" because there is no visible hierarchy in the team.

To change our ways, it's quite important to discuss the impressions we receive, in order to learn where we lack "the big picture" or we're over-emphasizing details.

World view

Our world view is the main filter of the impressions we receive. Every impression consistent with our world view will be forwarded into our conscious thinking, while impressions that are inconsistent with our world view will either be reinterpreted until they fit - or they will be discarded outright.
In this sense, our world view is the "eye" through which we obtain information. A narrow world view will imply that few impressions will go through unfiltered - while a broad world view will allow us to receive a lot more impressions.

Giving an example again, when an agile team decides to abolish progress reporting in favour of live product reviews, their manager must first be open to the idea that "working software is the (only relevant) measure of progress". As long as the manager's world view does not allow measuring progress in terms of production-ready software, they will discount both the benefits of interacting with users and the additional productivity obtained by not tracking work. Instead, their world view will make them see all the problems encountered by the team as caused by not following "a proper process".

The challenge with our world view is that it is strongly related to our world model (which is why in English, that would be the same term): what we see depends on what we can see. As long as our model does not permit us to process a different perception, our view will be limited to perceptions consistent with our model.

Genuine change, then, requires us to at least permit the possibility that our model is incomplete or even "wrong".


As the German word "perception" is also rendered, "taking as true", we can only take as true that which makes a true claim within our world model - i.e., only that which is both consistent with what we already call "true" and also within a spectrum of what we can classify to be "true".
Problems arise when we have already accepted false claims as "true" - we will discard or re-classify perceptions that are actually based on relevant impressions.

To take this out of the abstract realm, as long as we swallow the idea wholesale that "order is good, chaos is bad", we will never be able to appreciate the shaping and creating power of change - because change means that we change away from that which we consider "ordered" into something that, based on our current understanding, might be "chaos". Specifically, a self-organized team may not have a spokesperson or team leader at all. Such a team appears "totally chaotic" from the perspective of a manager who is used to corresponding only with team leads - and it will be very challenging to accept such a team as mature.

As long as we rely on an immutable world model, it's really difficult to see the benefits of conditions that don't git our model. Our perception of things that others consider "good" might be "bad", and we will classify situations accordingly.

World model

At the core of everything we see and do is our own world model. As hinted above, our world model has already decided whether any impression we receive is "true", "possibly true" or "false". Our world model helps us determine whether reality as we perceive it is "good" or "bad" and what we should then do.
The more static our world model is, the more binary this classification will be - and the simpler we will make decisions. Or, in other terms, "confidence" and "certainty" depend on a rather static world model, while ideas such as "doubt" or "hestitation" are related to a shifting or shaken world model.

Let's talk about me in this example: A few years ago, I was certain that clear process definitions would solve all business problems. Today, I stand on the perspective that clear process definitions in a changing world are the cause of all business problems - we need to be flexible to deal with situations that haven't happened before (and that may never happen again).


"Agility" might have to shake up our world model - as long as we're striving for certainty, we apply perception filters and biases that make situationally right choices invisible and lead us off-track. At the same time, the price of adjusting and softening up our world model may be high: we may need to admit that that which we fought for, sacrificed for, stood for, are no longer valid.

And that's the difficulty with agility: before we can get the benefits of being agile, we ourselves need to adjust our world model to be ready being agile.