Facilitating Software Architecture book cover showing a green female and a red male European White-Winged Crossbill.

About the Book

About the Author

Supporting Material

Community


Get the book (& more)

Bookstores

Amazon

O'Reilly Platform

Facilitating Software Architecture

The role of software architect is evolving. There is too much to know and too many places to be.

Facilitating Software Architecture is a new book by by Andrew Harmel-Law that describes another way to practice architecture driven by decentralized and empowering decision-making techniques. This collaborative, decentralized approach and mindset, propelled by a simple set of enabling constraints and arranged according to some core principles, allows everyone to ‘do’ architecture and build the best systems we’ve ever experienced. Systems which we’re all proud of, and that are a joy to work with.

Andrew Harmel-Law, the author of Facilitating Software Architecture giving a talk at JFokus, Stockholm, in 2020

Praise for the first edition

“Andrew groks architecture. Here is a book full of actionable wisdom, founded on broad experience, illuminated by a well-written narrative, and shaped in a manner that gets to the essence of what architecture is, what it is not, and how to make it real.”Grady Booch, IBM Fellow

“At its best, software architecture is evolved by everyone involved. Andrew’s book provides a practical process to make that vision work: involving a wide range of people and keeping a faithful record of decisions.”Martin Fowler, chief scientist at Thoughtworks

“A fascinating dive into the often undiscussed act of decision making, with particular depth being given to the social aspects. Recommended for anybody looking to transition away from the traditional centralized power structures typically associated with software architecture.” – Simon Brown, creator of the C4 model for visualizing software architecture

“Controversially, I don’t believe that “everyone can do architecture”. Architecture is not a skill demonstrated by one individual. Architecture is the orchestration of practices that generate systemic support for thinking well together about software systems. In this book, Andrew tells us what those practices are, why they matter, and how to adopt them. Read the book. Prove me wrong.”Diana Montalion, Systems architect, Mentrix founder, author of Learning Systems Thinking

“Architecture for fast flow needs both ‘decentralized deciding, and fast feedback at scale’ and this book shows you how to navigate this vital sociotechnical approach. This book provides a coherent, easy-to-follow guide for everyone. Highly recommended.”Matthew Skelton, co-author of ‘Team Topologies’

“Architecture is something we all care about in software development, but many feel uncomfortable doing it. What Andrew describes in this book is a way to enable all to participate, and it is more important than ever before that we all do.”Trond Hjorteland, IT Consultant and sociotechnical practitioner

What you’ll learn

With this book, you will:

Read a sample chapter

Being aware of the technical landscape and climate that surround you is important for an effective decision process. Decisions benefit from being informed by your colleagues’ and your wider organization’s collective past experiences and future intentions. But such a wealth of technical information can seem difficult both to capture and to manage.

In this sample chapter (Chapter 11 - “Using a Technology Radar”), I discuss how the collective intelligence can be distilled into a set of regularly updated guidelines—the fourth alignment mechanism—and used to inform everyone’s future decisions via a fourth supporting element to the advice process: a technology radar that provides a snapshot of the technologies and techniques used in your organization right now.

It starts introducing you to the technology radar by giving you a real-life example of how it’s used in Thoughtworks before going on to describe how a technology radar fits into the advice process. It closes by discussing how feedback from using the technology radar in deciding can—and ought to—lead to updates in the radar itself.

Facilitating Software Architecture Community

My hope is that a community will grow up around this, and related approaches to practicing architecture. Have a look at the community page to get involved.

Follow Facilitating Software Architecture: LinkedIn, Bluesky, Mastodon, Twitter.
Hosted on GitHub Pages by Andrew Harmel-Law. (Theme by orderedlist)
Copyright 2024 Andrew Harmel-Law.