Appendix 1: Inspiration and Further Learning
Favorite Quotes
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.
Software design is an exercise in human relationships.
Bad software architecture is a people problem. When people don't work well together they make bad decisions.
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.
Changing Role of Architecture
The role of architects has changed from trying to be the smartest person to making everyone else smarter.
The architect's role is changing from being primarily a decision maker to being a coordinator, advisor, and knowledge manager ... a central knowledge hub.
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..
Your architecture team’s job is to solve your biggest problems. The best setup is the one that allows it to accomplish that.
Your organization has to earn its way to an effective an architecture practice. You can’t just plug some architects into the current mess and expect it to solve all your problems.
Complexity
Excessive complexity is nature’s punishment for organizations that are unable to make decisions.
Metawork is more interesting than work. ... we love complicated little puzzles to solve, so we keep overengineering everything.
Developers are drawn to complexity like moths to a flame often with the same result.
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.
Legacy
The real definition of legacy software: runs and makes money.
Legacy eats strategy for breakfast.
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.
Architects code, but not to deliver code. Rather, to understand the ramifications of the decisions that they're making.
Architectural decisions are design decisions that are hard to make or costly to change.
Summary ← To Probe Further: Online Appendix Overview |
Appendix 1: Inspiration and Further Learning Bookshelf → |