Arie De Gues says:
“The fact is that the word strategy has tends to be misused. It should not be a noun; you should not ‘have’ a strategy, in the sense of a document which the organization follows. Rather, strategy should be a verb: strategy is something you do, rather than something you have.” The Living Company
(Now there is a lot I could say here about how this discussion of nouns and verb links up with Patterns but I’ll leave that for another day.)
Another strategy thinker, Henry Mintzberg, also rejects the idea that strategy is a plan. In the The Rise and Fall of Strategic Planning he made the case that strategy is not a plan you draw up and execute. He cited the case of the Canadian military, one study showed that they produced plans when they had nothing else to do. When they had something to do, like fight a war, they just got on and did it.
“the organization either planned or it acted; otherwise the two seemed unrelated. When the milirary has nothing to do, it planned, almost as an end in itself. ...
But when the Canadian military did have something to do (such as fight in Korea), it threw its plans aside and acted.” The Rise and Fall of Strategic Planning
To my mind much of software design is like strategy. (And by design I’m talking about the internal architecture stuff). Having an architectural design is a something you might want to do when you have time but your design will always evolve. Who was it that said
“No plan survives contact with the enemy”
(A quick Google search offers von Moltke or Heinz Guderian.)
What is important for both business strategy and software architecture is that the whole team know the direction, the objective and are fully on board. The planning, the designing, only serves as a learning exercise, what is important is what you actually do.
In the “plan as noun” world you can’t really get this. So often a few chosen ones - maybe just one - devises a plan/architecture and presents it to the others and say “Here it is, all we have to do now is make it”.
Everyone can have their own copy, they may even get to “sign off” on it so they can be help accountable for building it but this method has a number of faults
- Arie De Geus points out: those who aren’t involved in creating the plan will take longer over actioning the plan
- Mintzberg points out that way doesn’t instil motivation, after all, your building someone else’s grand design not your own
- Mintzberg also points out there may be errors in the execution of the plan, of course, if your designers are good enough they will have anticipated these and allowed for them, they plan will be fool proof, or at least allow enough time to fix it
- Most of all the environment and requirements made on the plan change
So for me, I believe strategy and architecture are much more about discussion, I want to hear debate when I am planning. I want to use the whiteboard, I want everyone to join in at the whiteboard. When we produce something I want it to be shared by all. And I want everyone involved, those who will produce the product and those who will authorise it and allocate resources.
Maybe I’m sounding like a broken record, I’ve said much of this before in my essay “An alternative view of planning” but I’m drawn to these ideas again because of where I am right now.
As I said a couple of weeks ago my project is currently “stood down” - I won’t go into detail, enough to say I still have a job and a role but not a lot is happening on the project.
One of the things I’ve been asked to do is to “set a vision” and “create a strategy”. Thing is I’m a team of one, there is nobody to discuss this with, only myself. And instead of white boarding with many I’m going to PowerPoint the whole thing.
This is lonely and depressing. I end up running over the same old ground. In a couple of weeks I’m supposed to present (PowerPoint) something to some folks who’ll decide if we get to move the project forward.
The thing is: I’m like the Canadian army, I have nothing to do so I’m planning.