"Construction" and "architecture" were suitable metaphors to describe systems-level software development (e.g. compiler design).
They fail as metaphors to describe user-level software. You'd have more luck with "navigation" and "cartography."
Alternatively, ask what it would be like to "live" in your software. Having a toilet in the kitchen would save on pipes and water but would you want to live in such a house? UX matters.