Last night I ran into a problem that took way longer to solve than I expected. The delay had two causes: I was working from an incorrect assumption, and I couldn't test each case of the solution space generated by my bad assumption. Because I was uncertain of how much of the solution space I had searched, I undoubtedly reduplicated efforts, which added delay. When I guessed I had searched enough, I examined my assumptions and found the error. All this added up to a big bunch of inefficiency.

Clearly, I need to work on my problem solving skills. In the future:

  1. Define solution space
  2. Test each case in order of decreasing probability
  3. At some probability level, examine assumptions.

The probability level should be determined by cost to evaluate remaining cases versus cost to check assumptions. Both will be estimated costs; good luck. ;)