The building analogy doesn't work, software is not a building. There are essentially templates for buildings, there is no template for software.
Maybe software is more like a city. Maybe buildings are more like patterns, data structures, etc.
Maybe software is more like a city. Maybe buildings are more like patterns, data structures, etc.
[1]: https://www.dreamsongs.com/Files/PatternsOfSoftware.pdf
EDIT: although thanks for reply, it is interesting to know that bit of history / link with architecture.