Search This Blog

Simplicity is the ultimate sophistication.” — Leonardo da Vinci
Contact me:

Monday 11 July 2016

Why increasing complexity is not good?

Simplicity is the ultimate sophistication.” — Leonardo da Vinci

Why is complicating things wrong ?
- K Sreram

Common sense always deceives us by overrating something abnormally complicated for being something of extraordinary significance. It is natural for most people to accept what they don't understand as a “great work of art” and give it significant importance. People also tend to underestimate what they do know, and what they are really capable of unless they compare themselves with others. This inspiration over difficult or complicated tasks build the desire in them to try out such task, until they stop finding it difficult. But when it comes to judging someone's work by searching for the work which impresses you, your judgment becomes deceiving; as you judge them based on what you are really good at and what you know quite well. So being impartial is more difficult than it seems, when it comes to judging others for their work.

Most people have the misconception that if certain rules are not effective in increasing the performance, the only way to solve the problem will be to add more rules. For example, if a group of students in an educational institute don't perform well in their curriculum, people tend to believe that increasing their working hours will help them perform better. Sadly it won't. It might even make the problem worse. The reason is, increasing the complexity of a system simply makes the system more prone to error and failure than when keeping it simple. How can we translate this to real life activities? Simple, unless we have a profound understanding what the problem exactly is (which is always not easy to discover), whether within the institution's system, office or an organization (including business organizations) we must not proceed towards making the system more complicated by adding more rules.

Let us look at two examples depicting the above claim. First let's see the real-life example and go ahead proving the same fact in software development. In an institute, assume that a particular set of students aren't able to follow a particular subject either for the reason that they weren't exposed to similar subjects in the past or their main communication language is totally different from what is being used. Then simply increasing the working hours, following the same pattern of communication while teaching isn't going to help. Because, again they are going to face the same problem. Is it really required to know the exact reason behind a problem? Yes, if you are trying to solve it disparately. No, if you are trying to solve a large group of such problems. But simply doing “more” of what you were already doing isn't going to always help (especially if what you were already doing, in some sense, was the cause of deterioration). Or in some instances, the overall performance will simply refuse to raise up if you keep following the same strategy.

In the above example or in any other situation that may arise, simply increasing the amount of rules functioning within the system makes it difficult to enforce all our rules effectively. The leaders controlling the rule frame within the system will have to invest more effort and resources (which includes time resource) in making sure that the rules are followed. This becomes more problematic when enforcing such rules become harder.

The second example which is interesting to look at is in programming. Programmers tend to make the code more simpler. One quick example will be,

The above program is quite simple to understand. Any programmer can immediately say that the second loop can be avoided by carrying the conditional check to find the valueToFind by carrying over it within the first loop itself. Complicating code such as the one above, increases the amount of code lines. This in turn, increases the chance for error and bugs.

In real world organizations, creating new rules recklessly to solve immediate problems within an organization ends up increasing the need to enforce all the newly created rules which ultimately causes the system to deteriorate. Now how do we then solve the problem? The first question to look at is, how the organization impacts the over-all performance. If alteration of any rule causes a change in the overall organization's performance it is quite important to retain such a change.

But if you are willing to solve specific problems within the system, which does not have a great impact on the entire system in general, then it is quite important to limit the amount of resources you spend in solving the problem. If you are ever faced with an uncommon problem (the evidence of such a problem will be quite explicit), which acts as an uncommon spot on the graph which is more likely to be sampled in higher level study, it is quite important to treat it uniquely. Leaders may instinctively use existing ideas and methods to solve such problems. The ideas to be devised to handle such problems must be unique on its own scale. It may also require to change the system completely.

No comments:

Post a Comment

Featured post

Why increasing complexity is not good?

“ Simplicity is the ultimate sophistication.” — Leonardo da Vinci Why is complicating things wrong ? - K Sr...