Tuesday, September 27, 2016

Iterative development?

There's an image that's going around on the Internet after a talk from Spotify as an explanation for iterative development, and it's being picked up by trainers, coaches and consultants from around the world - but it's wrong.

Here it is:

"Iterative development" analogy abused from another blog

Do not use this analogy!
Here's why.

The problem
I will ask these questions to help you draw your own conclusions.

What is the bottom row claiming to be a display of "how to do it right" actually implying?
  • Is the purpose of a skateboard and a car the same?
  • Are the people buying a skateboard, motorcycle and a car the same people?
  • How likely will a person who just bought a skateboard upgrade to a car?
  • Can you recycle your marketing campaigns?
  • Will a great skateboard designer know how to build good cars?
  • How many learnings from the last success/failure will help you do better in the next iteration?
  • What % of the last iteration's product is "waste" in the new iteration, how much can be reused?
Pretty much every increment would require restarting the entire business from scratch: New customer segment, new experts, new design, new product. There is no constancy of purpose at all.
How likely will you succeed with that if you're doing that in a 2-week rhythm?

Fixing it
If you really want to do iterative development, here's how you should approach the increments:

  • First, get some tires (not deliverable, but already a lot of work)
  • Then an axis to connect them (can already carry something)
  • Then an engine (automated propulsion)
  • Then a chassis (safer to ride)
  • Then windows (water/dirt proof)
  • Then, paint the whole thing

Most likely, you'll continuously find improvement potential in one of the above areas before ever finishing, but if you can't get these things done, you're not going to sell cars.

But how many companies have ever successfully produced streetworthy cars based on their skateboard expertise?

So, the upper row actually makes more sense than the lower row (even though it's also wrong).

Trash this analogy. Get it out of your head. It's misleading.

Visualization tip: The "i" people

Visualization can help a lot in communication. While technical people can easily draw some UML or ER-Diagram, they quickly feel challenged when having to draw people interacting in different ways. But drawing people isn't hard. Here, I'll show you a way to draw people based on the letter "i". These "i-people" can be doing all kinds of things. 
There is absolutely no magic in there and it's a good way to lose the shyness of drawing people.


1 - draw a handwritten "i" base.


2 - draw the head. It's just the dot on the "i", but you use a circle:


3 - Use the arms to make the person do something. To stand still, just draw a straight line from left to right on the tip of the base:



Now, that really wasn't hard.
Next, you just use different line shapes for the arm, and your i-people can do quite a lot of things:


For this exercise, I've exactly copy+pasted the "i" and added different arms.
It's really not hard.

Just try it!


Friday, September 9, 2016

Agile Leadership - Buzzword Bingo

One of the newest buzzwords appearing in the agile community is the "Agile Leader". Didn't we spend decades preaching situational leadership and how every team member can be a leader?
Well, it seems like Larman's law #2 is taking effect and soon, every middle manager in line-oriented companies "doing agile" will be a "certified agile leader".
In the process, the term "leadership" and many others will be overloaded to be so devoid of their intended meaning that you'll wonder what they are actually supposed to mean.
Be prepared that your division manager agile leader will have a whole repertoire of terms to drive your agility.

So I just had some fun, created a Buzzword Bingo game for "Agile Leadership":


Enjoy!

Thursday, September 8, 2016

Are you an organizational catalyst?

The newest buzzword in the agile community is "Catalyst". The Scrum Alliance considers being a "Catalyst" an essential part of being a coach and an agile leader. It's actually taken from the book "Leadership agility" by Bill Joiner.
It's always funny to hear coaches talk about the need to ask questions and reflect on your own behaviour, then doing exactly the opposite by unquestioningly adopting buzzwords. They have picked up something that seems to sell well and are now following in herd mentality. Since "agile coaches" are promoting something they don't even understand themselves, let me take some time to explain what a "catalyst" actually is!


The myth: "A catalyst speeds up a transition into a new state".
That's actually true, but you need to understand how a catalyst does that.
Catalysis is a highly complex chemical process with lots of constraints that one should be aware of when using the term.

No Philosopher's stone

A universal catalyst ("Philosopher's stone") that can make any kind of change happen does not exist.
Every catalyst is a "one trick pony" that can do only one thing in a very restricted context. In a different context, a catalyst will be useless or even an inhibitor. Do you really want to be good for one thing, and only that one thing?

Energy parity

The definition of a catalyst states, "In the presence of a catalyst, less free energy is required to reach the transition state, but the total free energy from reactants to products does not change"

This may be understood as "less energy is required". No: It means less energy is required to reach the transition state, but the total amount of energy to reach the goal does not change!

Let's translate what this means: The catalyst destabilizes the system in an otherwise stable state. Then, it channels the energy difference throughout the change process. All consumed energy is lost, and all the remaining energy must be invested before the catalyst is out of the system. The catalyst actually binds energy until the process ends.
The catalyst takes a massive active role in the change process. Typically, not much would happen without the catalyst. Every single aspect is being modified by the catalyst on more than one occasion.
The catalyst is an extrinsic change funnel, which in an agile context is equivalent to stating that the change is imposed on the target. A catalyst completely destroys autonomy.

Irreducible complexity

Catalytic reactions are highly complex. Scientifically, a catalytic reaction looks like this:

  1. X + C → XC
  2. Y + XC → XYC
  3. XYC → CZ
  4. CZ → C + Z

The same process, without a catalyst, would look like this:
  1. Y + X → Z
The catalyst is an essential component in every stage of a catalytic process, and there is no direct relationship between start and end of the process, although the catalyst is not necessary for the process to take place. Not only is the catalytic process significantly more complex than necessary, it may be impossible to figure out the natural relationship between X,Y and Z if one has never observed the reaction without presence of the catalyst.
The catalyst becomes "irreducible complexity" and hides the simplest way to reach a goal.

Bottleneck

A catalyst "participates in the slowest step of a reaction, and rates are limited by amount of catalyst and its activity."

This simply translates into "The catalyst is the bottleneck of change."


Potentially unsustainable

A catalyst "does not change the energy difference between starting materials and products."

This also means that the energy difference between the starting point of the change and the endpoint thereof is independent of the catalyst. Catalysts can induce highly unsustainable change that would not have happened without them. Catalysts might even be the cause for creating an unstable system.

Value neutral

Catalysts also "do not change the extent of a reaction".

This is basically stating that the same result could have been achieved without the catalyst by investing more energy. Effectively, this means that the presence of the catalyst really only reduces the energy investment, but it does not add any extra value.


Change exempt

Let's close this discussion with the final straw: A catalyst, by very definition of the word, "remains unchanged after the reaction."

What this means: While the catalyst did put a lot of effort into the change, the catalyst ultimately was not changed. For the catalyst, the change was just a temporary thing that is completely brushed off, left without a trace.


Should you be a catalyst?

Let's sum this up: An organizational catalyst is someone who:

  • Is a one trick pony potentially causing damage with their involvement
  • Does something that could happen in different ways without them
  • Starts processes that can't be terminated until all energy has been spent (i.e., removes agility)
  • Interferes dramatically with others' autonomy
  • Adds significant complexity which can no longer be taken out of the system
  • Becomes a massive bottleneck and Single Point of Failure
  • Hides the real change going on from those who are involved
  • Does not learn anything from what they are doing

Decide for yourself.