My friend (and sometimes office mate) Harry Pierson blogged a quote from Christoph Schittko and added to it:
[Christoph] “wonder[s] how many more attempts for “enterprise wide” thingies we need for people to figure out that there’s too much complexity involved to coordinate anything enterprise wide.” I couldn’t agree more, though I think it’s more than just complexity at work here. There are significant forces driving decentralization in society in general and IT in particular, and anything enterprise wide is by definition centralized.
I agree and disagree, depending on what you mean by “central.” (As you may expect, since I work for a ‘central’ architecture team).
When Walmart moved in to my neighborhood two years ago, they went to the city council and zoning board and asked for a permit. Of course, no one had to issue the permit, but it was in the best interest of the city to do so, so they did. They didn’t have to change the structure of the city to allow them to come in. There were already roads and electricity, because the planning board had already planned on the existence of a retail hub.
Could you consider the zoning board to be central? I would.
I live in a small-ish suburban area. What about the zoning board(s) for larger cities? Are they ‘central’? Is there “too much complexity to coordinate anything enterprise wide” in the case of a city zoning board? I don’t think so. They regularly deal with zones for industrial, single and multifamily housing, retail, distribution, roads, utilities, etc. Zoning works. (If you think otherwise, spend some time in Houston, where there is no zoning board.)
So why does central control work for city zoning boards but fail for IT?
- Most IT architects don’t understand the boundary between solution architecture and enterprise architecture. City planning decides that a shopping area needs to sit next to a housing area in order to meet the growth goals and trends of the town. It does not decide who the builders are, what stores will be built, and what products will be sold. The board does help decide where water, electricity, sewer, rainwater, and pollution mitigation needs to play into the bigger picture. Solution architecture should take on the role of ‘architecture within the land’ and let Enterprise Architecture take on the role of ‘architecture within the city.’
- Most companies have not completely embraced Enterprise Architecture. As a result, there isn’t an acceptance either of it’s value, or of the need to seek the ‘permit’ process, much less the need to comply with it. Imagine a zoning board in a wild west town. Now you get most IT departments.
- Most companies don’t have an EA permit process, so even if an IT team “wants” to play, they can’t. Where the company may have a process, it is rarely as well managed as a city permit process. For some reason, Enterprise Architects think that their work is somehow “different” from other large environment planning positions, when it is not. It is time for EA to take a page from central planning models that work.
Central planning works, but not in a vacuum and not with a heavy hand. We haven’t figured it all out yet, but that doesn’t mean we throw in the towel and live in the wild west.
Nick Malik has a great blog on Central Planning , comparing a city council’s zoning board to enterprise
It often helps to examine how Mother Nature does things, since biological life is such a resilient piece of architecture.
The human body consists of trillions of individual cells. Each cell takes care of itself, and networks/cooperates with other cells for mutual support. The Central Nervous System is largely not a management system, but a messaging system. It transmits messages throughout the body, extending the ability of the cells to communicate with more distant cells, largely for the purpose of expressing need.
However, at the very top is the brain, the mind, which takes no thought for the cells themselves, but instead controls the behavior of the collective as a different entity.
This is, of course, a great simplification of a complex hierarchy, but the basic principle operates at all levels of the hierarchical system. That is, "units" manage themselves, performing the tasks necessary to the well-being of the "unit", cooperating with other "units," and takes no thought for the components of the unit, nor for those units that are higher in the hierarchy, other than to respond to messages indicating a need of some sort.
I believe that good system software architecture approaches this model. It is modular, with each component managing itself, and responding to messages from other components, each component being designed in such a way that it naturally fulfills a need without even being aware of that need, as the need itself is at a different level of abstraction which is meaningless to the component.
I’m not sure I’ve explained this concept very well, but I hope I’ve communicated the gist of it.
Hello UC,
I would say that central planning is not so much like how the human body *works* but how the human body *develops from an embryo to birth*
That is a process that is poorly understood by science but, in my very limited knowledge, there does appear to be some form of ‘biochemical’ messaging that allows a cell to define itself in the overall scheme of things and mature into a group of cells that eventually becomes an organ. (My apologies to scientests who are alternatively laughing at me and pitying me right now).
In a sense, I hesitate to say that we can adopt the natural model for growth when we understand it so poorly.
— Nick
Well, Nick, I do think you’re on to something there, perhaps a different something than I was talking about, but definitely related. The fact that these ideas are based on incomplete science (the study of DNA) shouldn’t prevent us from thinking about them, however. While these ideas may not be specifically useful at this point, most good ideas do not begin their evolution as more than this, an intuition, a germ, something worth more investigation.
I have often thought (since I am a programmer) that there is something fractal about DNA. How else could all of the detailed information about the immensely complex structure of, say, a human being, be stored in a single molecule, regardless of its’ size? Like the Mandelbrot algorithm, a small process can give birth to infinite and unique complexity.
Generally, good software starts as a simple concept, well-thought-out, and lacking in "features." If it is well-built, it evolves, and eventually reaches the realm in which you, for example, operate. Managing the evolution of software is, I think, what you’re talking about. Perhaps we may learn from the way that DNA evolves.
Hi UC,
That’s a pretty cool idea: fractal control of the generation of a software ecosystem. I’m going to let that one percolate for a while.
Thanks.
— N
You’re assuming central planning works, when in fact it is largely a way to prevent rich people from having to live near poor people by blocking market solutions. Look no further than Portland, Oregon, the bastion of modern central planning, to see the effects: soaring property prices, soaring taxes, declining traffic throughput and massive flight away from the area.
Hi Chase,
I live in the Pacific Northwest as well. I’m familiar with some of the things going on in Portland. However, I’m hesitant to say that means that central planning is a failure.
I feel that you have blended two aspects:
1. the ability to make decisions centrally that have a potential for greater benefit, and
2. the quality of the decisions made, and their net result on the greater good.
I cannot speak to whether the decisions made by the Portland city council and zoning boards have had unintended consequences, but I can say that they were able to make those decisions, have them enforced, and mold a city using them.
If you feel that central planning, in cities, is inappropriate, I am not really the right person to argue that with you. There are others far more versed in the nuance of city planning. I can observe, however, that to create a city totally without city planning does not avoid problems. It may avoid the specific problems you cite, but it generates others that may be as tenacious or difficult to solve. Look at mass transit in Houston (a city with no zoning laws), and look at crime rates, and look at traffic flows…
The point is that there are no silver bullets. I think it is fair to say that completely avoiding all planning activity FAILS MISERABLY.
On the other hand, zoning is not a "cause of terrible things." Of the top 200 cities in America, over 95% have effective and well established city planning laws. Clearly, most cities in America are quite livable.
On the other hand, as you cite in the Portland example, it is possible, even with city planning, to run into problems that you cannot solve, or even make them worse.
Given a scientific approach, the data simply does not support your argument that central planning is not an effective thing to do. Central planning is a tool. When used well, and in most cases it is used well, the citizens of the city benefit.
In IT, we don’t largely have good models for city planning, with the exception of some of the EA frameworks that have been lightly adopted. If we get closer to that 90% mark, I predict that the same results will occur: most IT shops will be fairly "livable."