Welcome to Orcmid's Lair, the playground for family connections, pastimes, and scholarly vocation -- the collected professional and recreational work of Dennis E. Hamilton
The Role of Architects: Confining Complexity through Form
This is a terrific explanation for the software architect’s role in the manifestation of useful abstractions and their realization in computer software systems.
Kurt comments on the sudden resurgence of “software architect” with the legitimization given by Bill Gates taking on the role of Chief Architect at Microsoft. I found that to be welcome recognition of a role that had been seriously deprecated and impugned by the tide of hack-until-it-sort-of-works code-and-fix world that came along with the boom-and-bust frontier growth of computing in the past twenty years. The “we don’t need no stinking architecture” worldview is something that we’ll be paying down for years to come. I also agree that there is a problem when the term is taken up as a kind of sloganeering and job-title-jockeying. But that’s not new and unlikely to change no matter what we call it.
For calibration, I put System Architect on my business card and resume in one form or another starting in 1971 (though I had started in this direction while at Sperry Univac before that). The role I practiced and pursued was as Cagle describes: the maintenance of critical invariants, separation of concerns and minimization of dependencies to confine complexity.
You can ask Dave Cutler about the importance of the architect as a demon for the critical invariants, often in the architecture of the delivery process, not just the idealized steady-state structure of the system. Ultimately, you end up having to take an architectural perspective on the system lifecycle itself, including the adopters and users of the system. That’s also why system architects address deployment (and software QA) in the very first stages and also have a big hand in risk management.
I have a different perspective on the new Central Library of the Seattle Public Library System, although I had similar thoughts about design-at-the-cost-of-function until I became better acquainted with the facility. I think Kurt may have overlooked the scale of the shelving helix at the library. It addresses the difficulty of having a collection capable of holding 1.4 million books with at least 80% always on the existing open shelving. Open shelving and open- other things were a key driver in the collection storage and circulation system.
I recommend taking the architectural tour of the new Seattle Central Library if you ever have the opportunity. I think you'll find a different appreciation for the architectural considerations given to the functional use of the edifice.
I have some of my own perspective on libraries and the Seattle Central Library in rough draft, and I never tire of recounting its part in my first witnessing programming-language architecture done on purpose.
Comments: Post a Comment
|You are navigating Orcmid's Lair.|