Image by Amy from Pixabay

IN THIS SECTION, YOU WILL: Get a selection of my favorite quotes about architecture.

People, People, People

Architecture is not so much about the software, but about the people who write the software. The core principles of architecture, such as coupling and cohesion, aren't about the code. The code doesn't 'care' about how cohesive or decoupled it is; … But people do care about their coupling to other team members.
-James O. Coplien
Software design is an exercise in human relationships.
-Kent Beck
Bad software architecture is a people problem. When people don't work well together they make bad decisions.
-Kate Matsudaira
To change the architecture of a software-intensive system ensconced in a large organization, you often have to change the architecture of the organization. And ultimately, that is a political problem, not just a technical one.
-Grady Booch
When driving change in an organization, one key metric is your political capital bank account balance. Calling out the emperor's new clothes, questioning the status quo, bringing change, all make withdrawals from your account. Make sure you deposit sufficiently: by keeping your word, delivering value, sharing your knowledge, or being transparent. There is no online banking site to check your account balance, so make sure to keep some reserve. At the same time, political capital is meant to be spent! Just don't overspend...
-Gregor Hohpe

Changing Role of Architecture

The role of architects has changed from trying to be the smartest person to making everyone else smarter.
-Gregor Hohpe
The architect's role is changing from being primarily a decision maker to being a coordinator, advisor, and knowledge manager ... a central knowledge hub.
-Rainer Weinreich & Iris Groher
Rather than inject itself in every decision loop, architecture should design mechanisms for teams to make better decisions - they’ll know better anyhow, and slowing them down carries a high cost..
-Gregor Hohpe
Your architecture team’s job is to solve your biggest problems. The best setup is the one that allows it to accomplish that.
-Gregor Hohpe
Your organization has to earn its way to an effective architecture practice. You can’t just plug some architects into the current mess and expect it to solve all your problems.
-Gregor Hophe
Software architecture is a set of design decisions about any system that keep implementors and maintainers from exercising needless creativity.
-Desmond D’Souza & Alan Cameron Wills

Complexity

Excessive complexity is nature’s punishment for organizations that are unable to make decisions.
-Gregor Hohpe
Metawork is more interesting than work. ... we love complicated little puzzles to solve, so we keep overengineering everything.
-Neal Ford
Developers are drawn to complexity like moths to a flame often with the same result.
-Neal Ford
Any time a company is in trouble, you’ll have people competing for power. Many of those people will swear up and down that the problem is simple and that they have the answer. Lesson: If you advocate for a more inclusive, complexity-informed approach, you’ll face people with influence (and likely past successes) actively working to undermine you.
-John Cutler

Legacy

The real definition of legacy software: runs and makes money.
-Gregor Hohpe
Legacy eats strategy for breakfast.
-Stephan Wimoesterer

Other

Architecture is just a collective hunch, a shared hallucination, an assertion by a set of stakeholders on the nature of their observable world, be it a world that is or a world as they wish it to be.
-Grady Booch
Architects code, but not to deliver code. Rather, to understand the ramifications of the decisions that they're making.
-Gregor Hohpe, Dave Farley
Architectural decisions are design decisions that are hard to make or costly to change.
-Olaf Zimmermann

Standard Definitions

Software architecture is the structure of the components of a system, their interrelationships, and principles and guidelines governing their design and evolution over time.
-David Garlan & Dewayne Perry
Software architecture is the set of structures needed to reason about the system, which comprises software elements, relations among them, and properties of both.
-Clements et al
The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.
-Bass, Clements, Kazman
Software architecture is fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.
-ANSI/IEEE Std 1471-2000
Summary
Appendix 1: Inspiration and Further Learning