There are tons of books, articles and blogs available and searchable explaining different patterns and frameworks to simplify the solution of a problem. One aspect which we all ignore is how to simplify the problem itself. I watched Anina's interview (the queen of WAP) on the nerd TV (PBS) and was amazed to notice how easily she simplified the problem of mobile networking. With the inspiration a new phase in the software development life cycle should be added. The scope of the phase should be not to think of the solution but to simplify the problem. I think the most important step in any software development is to convert a 200 page business requirement document to one simple statement. If we can do it right, the rest will be a piece of cake.