Metaphysics and Software Architecture

Metaphysics and Software Architecture? Hear me out…
Suppose I roll a red ball across the floor.
Where did the redness come from?
Plato might say it comes from the abstract “Form of Redness.” Aristotle might argue it’s a property the ball possesses. Hume? He’d ask you to stop being weird and go touch some grass.
Now… where do architecture illities come from?
Scalability. Maintainability. Evolvability. Elasticity.
Are they inherent in the system? Emergent from behavior? Or… do they arise from something deeper?
Roy Fielding, Dewayne Perry, and Alexander Wolf suggest these ilities emerge from architectural constraints. We know a “big ball of mud” is defined by no constraints, when we constrain the degrees of freedom in implementation of a system, we induce the illitites.
Constraints are atomic, composable, architecturally significant decisions. They define the patterns we over-focus on and they are the real tools of the thoughtful software architect. They’re the metaphysical substrate beneath your system’s behavior.
So if you’re chasing quality attributes, you’re not chasing emergent magic. You’re choosing constraints. You’re crafting trade-offs. This is the heart of the message of my book and the Tailor Made Software Architecture model. Weighted trade-offs and deterministic results. The new old way of thinking about software architecture.
So I ask again: Where do your system’s “ilities” really come from?
Are you choosing them… or are they choosing you?