Wednesday, October 19, 2022

A comment on Architecture

"Architecture" has been in the PM-domain commentary more and more as rapid and flexible methodologies compete with more experienced ideas.
  • It's been said, correctly, that architecture is where functional utility is addressed first (*)
  • And it's been said, again correctly, that architecture generally imposes, usually conforms to, and applies the construction and integration rules for the domain of the project. (**)
  • It's been said, repeatedly by me and others, that every project has architecture (and an architect) even if somewhat buried in other tasks and roles, because everything virtual or real has an architecture
But beyond rules and utility there are myriad components to architecture
  • It expresses the art contained within the domain. In software, there is definitely art!
  • It expresses the culture of the context in which the product or outcome will live
  • It provides coherence and organization to the entity under development
Architecture and system engineering share a lot of the same goals for organization, coherency, and predictable performance. 
  • System engineering focuses hard on interoperability of the sundry pieces and parts, making interfaces work smoothly, and being the keeper of the flame of cybernetics, anti-fragile, and anti-chaos. 
  • And system engineering often morphs into system test for validation and verification.
  • Whereas architecture often morphs into softer elements such as appealing design and fit-to-culture.
All said, as long as what you are building is itself divisible -- and pretty much everything above the atomic level is -- then there are both architectural considerations of integration and system engineering choices at interfaces.

What about rapid and evolving methodologies?
These usually are focused at a level below architecture and system engineering. Usually the focus is on rapid or evolutionary development. In the case of Agile methods, there is a lot of flexibility allowed within the general constraints of interfaces. Architects and SEs work at the black-box level; Agilists work on the internal white-box solution

(*) "Utility" is the measure of effective value vs actual value. If you don't like it, if you can't live with it, or if it means little to you, it has little utility to you, although others may find its actual value quite satisfactory. The classic explanation is a poor person with $10 in their pocket vs a rich person with $10. The utility of $10 to the poor person is very much more than it is to the rich person.

(**) One only has to look into the architecture issues of the Sydney opera house to appreciate how the architect pushed conformity to construction rules to the limit 

Like this blog? You'll like my books also! Buy them at any online book retailer!