I think we’re leaving one metaphor on the table which more accurately reflects the way software is built in the real world: flail around randomly and pray you succeed by force of pure dumb luck. Sometimes it even works. Not very often, but just enough to confuse people who should know better into thinking they’re smart, when what they really were is lucky. —Jeff Atwood, Tending Your Software Garden, Coding Horror
So what’s your preferred software development metaphor?
image: Battage à Fléau, Wikimedia Commons