Ovid (publius_ovidius) wrote,

Approaches to Managing Software

I've just had the most interesting meeting with another developer who needed to figure out a solution to a complicated problem. His solution was a caching strategy with synchronization issues. He had three separate processes which must be run in sequence and at the end, the only way he could figure out if his information was stale was to refetch the data he was caching. I was totally confused by the approach. When a solution is complicated and non-obvious, it's time look at the underlying design. He wanted to solve the problem and I wanted to simplify it. As it turns out, one minor change to our system eliminates many of the problems he was facing.

When faced with a complicated problem, I can't understand why someone's first instinct isn't to step back and say "what problem are we really trying to solve and how can we make it simple?" That should almost always be the first approach. When you can't solve it, simplify it.
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded