Skip to content

Who Needs An Architect (Fowler)

AI generated summary for Who Needs An Architect1 by Martin Fowler

  • The term ‘software architect’ is often misunderstood and overloaded, leading to confusion about the role.
  • Architecture in software is a social construct based on the shared understanding of expert developers.
  • The importance of a component in architecture is determined by the consensus of expert developers.
  • Architecture is not just about the highest-level concept of a system but about the important stuff as perceived by the developers.
  • There are two types of architects: those who make all important decisions (Architectus Reloadus) and those who collaborate and mentor (Architectus Oryzus).
  • The value of an architect is inversely proportional to the number of decisions they make, emphasizing collaboration over control.
  • An architect’s role includes mentoring the development team to handle more complex issues independently.
  • Software architecture can be reduced by making components easier to change, thereby reducing irreversibility and complexity.
  • Agile methods aim to reduce complexity by minimizing irreversibility in software development.
  • Software’s limitations are more about human factors like imagination, design, and organization rather than physical constraints.
  1. https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf