- Hohpe, Gregor
Most of what architects have traditionally done should be done by developers, by tools, or not at all —Martin Fowler and Erik Doernenburg
- keyword is “traditionally:” traditionally architects make major design decisions on the project, draw architecture diagrams, and direct developers. Today, these are better handled by developers and tools, rather than a single person
- today, architect’s role require them visiting the upper floors of their organization
- “architect elevator” spans from the company’s engine room all the way to the penthouse where upper management defines strategy
architect is still needed in the engine room: software that we are building are much more complex today
(the article stresses the importance of runtime view, as it has become more complex)
Modern architects must therefore be well-versed in run-time architecture considerations, including deployment and configuration automation, scalability, monitoring, etc. They may trade class diagrams for deployment diagrams!
“architecture is selling options” (опционы) — it gives the right, but not the obligation to buy a stock on a future date for a set price → Architecture as financial options
- an option is a way to defer a decision to a later point in time while locking in key parameters (such as the price)
- you invest in architecture so you can change your mind later, at a known cost
- a good way for architects to get feedback is to be directly involved in the delivery of the project
Many architects are afraid to touch organizational aspects because they are full of “people stuff” and politics. But the similarities in the behavior of complex systems equip architects well to engage at the upper floors and remove bottlenecks in organizational systems.
- it’s not easy for a single person to handle all floors, so it might be useful to organize a “vertical” architecture team, one that comprises architects from many different level (enterprise, strategic, solution, technology)