Have you encountered the following scenario?
You are trying to solve a problem (or helping solve a problem) and know or at least think you know the solution. You are in the middle of implementing it when someone else looks at it and says, “why don’t you do it this way, isn’t this way easier/better?” Taking a step back, you realize that the question not only has merit but is a better and much more obvious solution; you can’t believe you missed it.
I think its because you were too close to the problem and had developed a very narrow focus. That narrow focus prevented you from seeing the better solution. Perhaps this is even a variation of functional fixedness in that we’ve latched onto an idea of how to solve a problem and our mind’s may not see alternatives easily.
What can we do?
- Think about the broad (or product) level goals regularly.
- Entertain questions and/or suggestions from others.
- Ask: “Is this the best way?”
- Ask: “Is this the practical way?”
- Don’t overthink the problem.
- Get it working then evaluate the solution and/or do a code review!