The Construction Metaphor For Software Development

What makes a good metaphor and why the construction one works well for software.