SOFTWARE ARCHITECTS occupy a unique space in the world of IT. They are expected to know the technologies and software platforms on which their organizations run as well as the businesses that they serve. A great software architect needs to master both sides of the architect's coin: business and technology. This is no small challenge, and it's why this book was created.
97 Things Every Software Architect Should Know provides advice from software architects around the world on everything from how to avoid common pitfalls to how to build talented teams. It's a smorgasbord of advice from established software architects for other software architects or those who aspire to become software architects.
It's my sincere hope that this book will be a source of inspiration and guidance for software professionals everywhere. It's also my hope that software architects will use this book and its sister website to share advice and insights into what is perhaps the most challenging profession in information technology today.
This book is probably completely different from any other book you've read. It is the combined work of more than four dozen authors, all of whom donated their thoughts and advice about software architecture without compensation. It is, in a way, an open source book in the truest sense. Each author wrote his or her own contributions, those contributions were examined and edited with the author, and then the best contributions were chosen for publication. That's not much different than an open source software project where individuals contribute code rather than knowledge and wisdom.
The licensing of each axiom is also similar to open source. Every contribution is freely available online and licensed under Creative Commons, Attribution 3, which means that you can use the individual contributions in your own work as long as you give credit to the original author. Other open source books have been tried and have, with only a few exceptions, failed. I believe that is because it's harder for individuals to contribute to a project unless it can be modularized. This book succeeds for exactly that reason: it is modularized. Each contribution is self-contained and works both in this larger collection and on its own.