Thinking before programming

Interesting blog post about the advantages of thinking about the algorithm before you start to code rather than waiting for it to emerge.

NOTE: As clearly specified in the article this solution is aimed at specific problem types.