Five Favorite Software Development Analogies