From my experience as a home owner, and curious observer of urban structure demolitions: I am thinking of the way many buildings are constructed (vs how we build software).
It seems many building elements are joined in ways that cause destruction upon de-coupling: glue, lamination, poured elements, nails, custom and jerry-rigged structures. These feel like one-time-use solutions for builders - that hamper re-factorers. Deconstructing turns into destroying the materials themselves.
If construction were planned as reversible and components as modular or salvageable, this might feel like something we could compare to architecture of software using (for example) o-o design principles. Bu I’m definitely speaking ad a layperson here.
I have to wonder what Christopher Alexander said about designing for re-use? My software history suggests this would be over-engineering. Since you do not know what you’d want to re-use, everything would need to be more generic, or more loosely coupled, just in case.
Maybe it actually is cheaper to destroy and rebuild? But then it would be important that destroyed material cause no ecological harm. Maybe it could even have ecological benefit, rather than just dumping… thinking of building structures to support wildlife, biomes, coral reef development, for example…
Well, that was an interesting side-journey for me. Perhaps it sparks a useful thought for someone…