I've found woodworking to be an incredible analogy (and also contrast) to software dev. The guy at http://woodgears.ca/ was formerly a software engineer, and I find it interesting how this influences he approaches woodworking.
"Programming with hand tools"
Lots of conference reviews nominated it in their favourite talks too.
Its a really important point and I often have trouble explaining this to people, now thanks to this talk I have a much clear handle on what the point is.
It can be used when arguing things like ORMs and things like that.