If you’re interested in designing buildings for change, the classic book is How Buildings Learn.
I think the key reason that software is not like architecture is the difference in goals. In architecture we are trying to produce well adapted buildings with the “quality without a name” that Christopher Alexander describes. In software the quality without a name, which is a property of human perception of geometry, isn’t a thing.
I think sewing and dressmaking are a better analogy for software development than architecture is. The concept of “interface” corresponds naturally to that of “seam”. Sewing has its own concept of modular patterns. Feedback from the client corresponds to making her/him try the as-yet incomplete garment, held together with pins. And so on.