Software and Computer Engineering

When Avoiding An Issue Perpetuates the Issue Itself

When some problem persists for years, the approach taken to solve it may be the source of the problem itself. In these cases, we should consider the diametrically opposed solution.

When there is some issue, our natural response is to avoid it or somehow prevent it in the future. However useful this proves to be for most cases, when the same issue persists for years, it is important to realize that whatever approach employed is not working.

For example, if someone feels embarrassed in social situations, avoiding those situations only reinforces that aspect. It is not easy and it takes some discomfort to overcome the initial hurdle, but the alternative, avoidance, only reinforces the issue. This can be generalized for any skill that you initially feel clumsy, embarrassed or sluggish while performing it.

Another example can be seen in software development. Generally the greatest risks to negatively affecting customers is while deploying something to production. But you can't evolve the software and deliver new features without doing it. The more traditional approach was to encroach development with a long process and checks, taking months.

The modern approach is just to make it so easy to deploy as it can be made multiple times a day and correct any new issues within hours. These two approaches feel diametrically opposed, so you wouldn't think of the modern approach if you were focused on incrementally improving upon the former.

So, think about it. Is there some issue, dread or problem that has bothering you for years? What is the approach you are currently taking? Even if not consciously deciding upon one, something is being done -- even choosing to do nothing about it. Could the diametrically opposed approach work in this case? Instead of avoiding, could we be welcoming it in a regular basis?