Fundamentals of software architecture - review
One of my resolutions for 2021 is to get more into software architecture. As an entry point for this topic, I chose fundamentals of software architecture by Mark Richards and Neal Ford. It was a great starting point and in this review, I will tell you why.
The bread and butter of this book is a middle part that describes eight architecture styles. Each one is described in enough detail but without any unnecessary clutter. Great are practical examples that point out the weaknesses and strengths of each described architecture. The architecture styles also come with a handy table that can serve as a quick overview of the strengths and weaknesses of each architecture style. We will see how quickly will this part get old but until that, it will be a go-to resource for me when doing initial research on how to approach a problem from an architectural point of view.
The book, in the first part, goes over basic architectural knowledge such as modularity, coupling, components... What was completely new for me was the introduction of formal methods of evaluating architecture characteristics. This part of the book is on my bucket list to read again in the hope to understand it better than during the first read. This part was also the hardest to read but for me, that is always a good sign of learning, so be prepared and take your time, it is worth it.
The not so good
The last part of the book focuses mainly on softer parts of the architect job. There are good parts (I enjoyed the risk analysis part and Architecture decision records) but overall I had a feeling that this is something "extra". If this is what you would like to get from architecture book, look somewhere else.
The fundamentals of software architecture was a great introduction to the topic of software architecture. The technical parts are excellent with great examples. The book is worthy of your time, you get a great overview of the discipline and a great handbook for everything architecture related.