1. 11
  1.  

  2. 8

    No plan survives contact with the enemy

    1. 14

      — the guy who successfully planned out the Franco-Prussian War thirteen years in advance

      1. 6

        It’s much easier to get programmers to throw away documentation than it is to get them to throw away code. And writing at least some documentation up-front, explaining how one would be expected to interact with the eventual code, often does a great job of exposing potential problems.

        Or as the Zen of Python succinctly puts it:

        If the implementation is hard to explain, it’s a bad idea.

        If the implementation is easy to explain, it may be a good idea.