The quick summary:
Here it is: I like to find (a) simple solutions (b) to overlooked problems (c) that actually need to be solved, and (d) deliver them as informally as possible, (e) starting with a very crude version 1, then (f) iterating rapidly.
Often easier said than done of course. It's also worth bearing in mind that the rapid iteration model may not suit some projects, but still a good read.
Link: Six principles for making new things