Architects of Abstraction January 13, 2009Posted by randydeutsch in architect types, principles, software architects.
One of the things this blog tries to do is find common ground between various types of architects. There are perhaps no two more different on the surface than software and building design architects.
Architects 2 Zebras is happy to recommend a new book that will go a long way toward bridging these otherwise seemingly disparate architects. Edited by one of the world’s leading open source architects, experts and book authors on enterprise computing, 97-things will be published in February. Until publication date, a galley found online – 97-things_the_list – focuses not on the more esoteric technical details but rather the fascinating principles shared by architects. Or, as editor Richard Monson-Haefel puts it, the principles that the best software architects have pulled out of their experience. In fact, it turns out that these principles apply to architects of all stripes. Just two of the book’s takeaways: communication trumps technology and skyscrapers_aren’t_scalable. This last principle describes how
“We often hear software engineering compared to building skyscrapers, dams, or roads. It’s true in some important aspects. The hardest part of civil engineering isn’t designing a building that will stand up once it is finished, but figuring out the construction process. The construction process has to go from a bare site to a finished building…there are some important ways that civil engineering analogies mislead us.”
Ignoring the detail that building design architects design buildings and not civil engineers, the short essay concludes
“Once designed, the skyscraper isn’t supposed to change its location or height. Skyscrapers aren’t scalable. We cannot easily add lanes to roads, but we’ve learned how to easily add features to software.”
In fact, in the past year, skyscrapers designed by international architects for Dubai regularly change their location and height – one proposed skyscraper was to skim across the water on a floating island – whether they’re supposed to or not. But that doesn’t lessen the impact of the principle.
It seems an hour doesn’t go by that we stumble over yet another architecture analogy that doesn’t go quite far enough. They’re everywhere to be found, some more rigorous – therefore useful – than others. One I saw earlier today from the exceptional marketing marvel book_yourself_solid serves as a typical example (emphasis added)
“The exercises in Module I step you through the process of building your foundation so that you have a platform on which to stand, a perfectly engineered structure that will support all of your business development and marketing, and – dare I add – personal growth.”
The real secret ,of course, is for us architects to continue to abstract sharable and relatable principles from our experience, erring neither on the overly general and generic on the one end or overly detailed and specific on the other. S.I. Hayakawa in Language in Thought and Action describes the relations between levels of abstraction in his ladder of abstractions pictured here. It takes the principled architect’s most focused discernment and best judgment to know where to land on this ladder – for, as everbody knows – ladders aren’t scalable.