Note To Self On “Software Architecture”
Although I’m departing (I think) from the “software architecture” metaphor, here are some notes about it from reading the article “Just-in-Time Architecture” in the July issue of the Metropolis magazine:
When [SHoP Architects] got the invitation to join the time-intensive architectural competition [they] began by asking a series of questions: What is a twenty-first-century airport lounge? What does it mean to fly into New York City? [etc.] An idea book of photos and sketches was assembled, and certain influences were invoked: the quality of light in late-afternoon New York, Robert Irwin’s space at the Dia Center, and Anni Albers’s work for the Bauhaus, to name a few.
The search for the meaning of adopting “architecture” as metaphor for (a part of) software development is itself a search for a vision, a paradigm, a guiding principle, an identity. At the same time, the aim of “architecture” is finding a vision, a paradigm, a guiding principle, an identity – but for the project.
Adhering to “an architecture” is like following a set of rules. I suspect people are more inclined to follow rules they “get,” that are consistent, that exhibit some kind of beauty or aesthetic. Much of the “standards work” going on in the strive for interoperability, enterprise architecture, is producing huge, complex standards, which are difficult to grasp.
Interoperability is not just about making systems work together. I’d like to paraphrase Harold Abelson and Gerald Jay Sussman (from The Structure and Interpretation of Computer Programs): ”Architectures” must be created to be understood by people, and only incidentally to be implemented by systems.