Applying metaphors from other fields into software development

We use all kinds of metaphors in programming. Using “code smell” to describe poor coding practices is probably one of the most evocative. But what about metaphors in other fields? Could they be used to describe programming as well? There are a lot of things like “parent” and “child”, or “building” or “factory”, which clearly originate elsewhere. But these are quite widely used already in…