Skip to content

Latest commit

 

History

History
16 lines (14 loc) · 1.6 KB

what-is-architecture.adoc

File metadata and controls

16 lines (14 loc) · 1.6 KB

What is Architecture?

Hodgepodge of points from well-known speakers such as Gregor Hohpe and Martin Fowler:

  • Architects are concerned with the "non-requirements"; the non-functional things like scalability, reliability, maintainability, etc.

  • Nobody else cares about your architecture - it’s invisible.

  • Architecture focuses on the "hidden design", i.e. the quality of the software, the modularization, the layers of abstraction.

  • When arguing for focusing on quality over "quantity" i.e. features, arguing that we need to "do a good job" i.e. craftsmanship, will always lose to economics i.e. business value, cost reduction, etc.

  • Architects must visit all floors of the organization; "ride the architect elevator", where they can understand the business strategy and explain the importance of architecture and design to business leads, while also understanding the inner workings in the "engine room", the engineering.

  • Architecture is about "selling options" (see other TIL). We pay a price up-front for the option or ability to exercise a certain decision or build in the future, presumably at a favorable price.

  • Architectural diagrams must have lines. Otherwise, it is just a bunch of ingredients or components, without defining their relationships and interactions. The same components can interact in so many different ways, and that is what defines the architecture of the system.

  • When you go to a restaurant, the menu shows you dishes, not ingredients. Simiarly, architects are chefs, who define the way things work together, as opposed to independently defining or focusing on the pieces or ingredients.