How are LEGO sets designed? I've often wondered how it is that LEGO goes about creating new sets. I can easily imagine a person sitting in a room all day with unlimited pieces of every shape but with some of the complicated sets we see these days there must be some sort of computer aid.

Do the designers model new sets on a computer which then figures out pieces and instructions or do they do build and tweak until things seem just right?

Can anyone provide insight into the process that LEGO takes on creating new sets?
I once had an acquaintance who worked at Lego as a product designer (I don't remember his exact title). His job was, simply put, to come up with new sets. There are some general constraints – balancing the different Lego worlds/themes (contemporary, pirate-age, Star Wars, Harry Potter, etc.), hitting certain price points/box sizes (limiting the number of bricks in a set), coming up with sets that work well together, targeting different age groups/motor skills etc.

LEGO also tries to design the individual pieces to be used in many settings. The same terrain/foundation was used with different paint for the anti-pirate fortress (which my sister had) and the dragon knights castle (which I had). In the old days it was fairly rare for Lego to make new brick types – it has become less so, as their manufacturing processes have become more nimble and less expensive.

As for the software used in designing LEGO sets, I know little about it. They do use software/brick simulation, but also work with the physical bricks, especially the old hands :)