Homes seperated by hundreds of miles
You also overlook the other metaphors used in other areas of programming: programming as modelling, and programming as rule-following are two easy examples. But it’s better than the metaphor it replaced – programming as math. Yeah, the building metaphor is dain bramaged. These involve standard interfaces for a lot of them.
Ultimately, both programs and buildings must be built for use. I’ve been in homes seperated by hundreds of miles and totally different builders that had the exact same floor plan. Buildings can’t be interior design software distributed, but plans for buildings can be distributed and reused. For example, “Construction must follow rules, regulations and codes imposed by parties well divorced from the actual requirements of a particular construction project.” Software often has to follow standards, upper management decrees, even rules, regulations, and codes.