Paul Graham's Design Philosophy
I read Paul Graham off and on and find most of what he writes about interesting even if I don't agree with all of what he has to say. His latest essay, "Six Principles for Making New Things", is one that seems to echo a lot of what's been said before about solving problems with software. In his own words the steps are:
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.
To summarize, find a simple solution to a problem and release early and release often.