|The Patterns: Shearing Layers of Change. Layers of a structure change over time.|
|Shearing Layers of Change|
This work by Stewart Brand is an essential source for associating buildings and software development. Brand provides strong evidence that buildings are not just static objects but that they are dynamic.
There is for instance a model based on Frank Duffy's “Shearing Layers of Change” model of the way a building tears itself overtime.
The Layers: Site, Structure, Skin, Services, Space Plan and Stuff is defined as follows:
“Site - This is the geographical setting, the urban location and the legally defined lot, whose boundaries and context outlast generations of ephemeral buildings.
Structure - The foundation and load-bearing elements are perilous and expensive to change, so people don't. These are the building. Structural life ranges from 30 to 300 years (but few buildings make it past 60, for other reasons).
Skin - Exterior surfaces now change every 20 years or so, to keep up with fashion or technology, or for wholesale repair. Recent focus on energy costs has led to re-engineered Skins that they are airtight and better insulated.
Services - These are the working guts of a building: communications wiring, electrical wiring, plumbing, sprinkler system, HVAC (heating, ventilating and air conditioning), and moving parts like elevators and escalators. They wear out or obsolesce every 7 to 15 years. Many buildings are demolished early if their outdated systems are too deeply embedded to replace easily.
Space Plan - The interior layout - where walls, ceilings, floors and doors go. Turbulent commercial space can change every 3 years or so; exceptionally quiet homes might wait 30 years.
Stuff - Chairs, desks, phones, pictures; kitchen appliances, lamps, hairbrushes, all the things that twitch around daily to monthly. Furniture is called mobilia in Italian for good reason.” [Brand, 1994, p.12-13]
|Architecture Intensive Disciplines|
There is a correlation between Change in Software Development (Think Web Site) and Buildings. This model of “how buildings tear themselves apart over time” can be adopted as a Model (theory) for Change Rate of Software Application Architectures (Buildings).
It can be argued that these can also represent elements in software application architecture, where the change provides the friction that work against each other:
Site = Meta Architecture (including Business, System Infrastructure or Platform)
Structure = Application Architecture
Skin = Presentation Framework or User Interface (GUI) Architecture
Services = Services (Internal re-use programs, APIs, Web Services, Engines, etc)
Space Plan = Application Modules or Decomposition
Stuff = user components or elements (data, controls, etc.)
|Case Study A: Large Corporate IT|
|Most systems architecture have shearing layers of change. The portal framework architecture was designed for configuring change dynamically. The main pre-requisite was ensuring compliance to design standards. Hence a tool was created for generating structural objects such as database tables and classes. Templates were used for interfaces. Applied correctly, user could request changes and unless they were structural, these could be applied very quickly with minimal risks.|
|Case Study B: Small Commercial Team|
|The shearing layers were applied only after refactoring. The directory structures and middle tier components were re-engineered for better configuration control and implementing changes to logical code. Previously, implementing change and re-compiling was cumbersome. What was still outstanding was the refactoring of the hard coded SQL statements to stored procedures and re-designing the database. Once this was in place we could implement a more maintainable structural and service layer. The skin or interface which had already had minor modification was also to undergo a major re-work. The architectural vision involved at least one year's work to rework the "shearing layers" of the above pattern. Unfortunately, we only completed a quarter of the scope.|