"Software Architecture as a Set of Architectural Design Decisions": "Software architectures have high costs for change, are complex, and erode during evolution. We believe these problems are partially due to knowledge vaporization. Currently, almost all the knowledge and information about the design decisions the architecture is based on are implicitly embedded in the architecture, but lack a first-class representation. Consequently, knowledge about these design decisions disappears into the architecture, which leads to the aforementioned problems. In this paper, a new perspective on software architecture is presented, which views software architecture as a composition of a set of explicit design decisions. This perspective makes architectural design decisions an explicit part of a software architecture. Consequently, knowledge vaporization is reduced, thereby alleviating some of the fundamental problems of software architecture."

Tomas Petricek's writings on the subject:

Architecture of Open-Source Applications (books)

"Don't Call It a Platform": "Habitability, in the broadest sense, describes how nice (or not) the experience is for the people who have to live in a system. ... I make the argument that we ignore habitability at our peril. Those of us in a place to shape the lived experiences of our colleagues have a duty of care to ensure that we take their needs to heart."

"DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together"

"The cloudy layers of modern-day programming"

Platform Engineering Teams Done Right...

The 12-Factor App:

Don't Start with Microservices--Monoliths are your friend

The Nature of Software

Reading

Interesting exemplars/templates/links


Detail Pages:

Last modified 16 December 2024