ARCHITECTURE.md
Creating visibility of architectural decisions at all levels of the organization and sharing these decisions among different teams will greatly reduce the probability of significant architectural compromises occurring. It is not technically difficult to create visibility; all you need to do is agree on how to document an architectural decision.
Murat Erder • Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps (Addison-Wesley Signature Series (Vernon))
The points I failed to grasp were that by not writing documentation:
- you’re shutting the door for others to work on the project
- your business is much more valuable when well-documented, as it’s far more attractive to buy
- documented processes help you save time and identify where things can be automated.
Marius Bongarts • 3 Unusually Painful Mistakes on My Side Project Journey to 100K Users
Britt Gage added
Software architecture is a manifestation of the earliest design decisions about a system, and these early bindings carry enormous weight with respect to the system’s remaining development, its deployment, and its maintenance life. It is also the earliest point at which these important design decisions affecting the system can be scrutinized.
Rick Kazman • Software Architecture in Practice, 4th Edition
once the architecture has been agreed upon, it becomes very costly—for managerial and business reasons—to significantly modify it. This is one argument (among many) for analyzing the software architecture for a large system before settling on a specific choice.
Paul Clements • Software Architecture in Practice, 4th Edition
Alignment with Architecture
Marty Cagan • INSPIRED: How to Create Tech Products Customers Love (Silicon Valley Product Group)
Guidelines: In reality, the probability of development teams compromising the architecture is greatly reduced if they are given clear guidelines to adhere to.