Mike Bostock, the creator of d3.js, gave an insightful lecture on design a couple years ago. Perhaps the most enduring takeaway from the entire talk was the title: "Design is a search problem." Bostock concisely defines the design methodology: try many designs and optimize the way in which you find the best one.

I'm no graphic designer, but I tried different designs for a logo I worked on to see how it would turn out.