Producing software is not constructing a building. It's not wiring chips to a board. It's not writing poetry. It's not contemplating Zen koans. SoftwareIsSoftware?.
Metaphor and analogy are very useful for talking and thinking about something, but they are defined by the difference between two things as much as by the similarity.
Maybe that is why the term SoftwareEngineering is sometimes so hard to take. Often it seems like an inappropriate metaphor. -- PeteMcBreen
Metaphors can be used to break limits, too. Power to open up something and extend understanding, to enable "thinking out of the box". That's WhyNewAnalogiesForSoftware are good things. --PaulHudson
See also DontEatTheMenu, EngineeringEnvy, WhatIsMetaphor, UsefulLie