Posted on Fri 15 April 2016

new eyes catch bugs

The best way to solve any problem is — no, I lie, there is no single best way to solve all problems.

But I often find that there is great value in this approach.

  • Stop. No, really, stop working on it. It may take a while.
  • Pretend that you are starting analysis of the problem from the beginning.
  • Read through the current process. Not what you thought was the process, not what the documentation says, but the code that is actually in effect.
  • Understand what the people who wrote the process were trying to accomplish.
  • Build your mental model of the process.
  • Read through the process again. At every step, ask: is this necessary? Is this worded correctly?
  • When you find something that is not necessary, remove it. Even if it looks clever. Especially if it looks clever.
  • Test the new process, which is less clever and may do less than the old process.

In today’s application of the approach, I noted a well-commented optimization that was, in fact, completely pessimizing.


© -dsr-. Send feedback or comments via email — by continuing to use this site you agree to certain terms and conditions.

Built using Pelican. Derived from the svbhack theme by Giulio Fidente on github.