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