Why Humans and Software are Complex?
If I say – something is ridiculously simple i.e. it is inherently complex. Simplicity is not an easy thing to practice/profess. To be simple – you have to be extremely disciplined, principled and inherently complex. Simplicity is earned/achieved by practice, it is not a one day match, it is a marathon race. Either it is a software or human behavior – in both cases, complexity leads to simplicity. You press the button – thousand mills away gates get opened. It is extremely for you to open/close thousand miles away gates , however, if you start underlying philosophy/technology to deal this, is extremely complex.
Look at the ATM machine – it appears extremely simple to operate but inherently, it is extremely complex, isn’t it?
“The task of the software development team is to engineer the illusion of simplicity.”- Grady Booch.
Buddhtwa is very simple but to be a Buddha is a very complex thing. Buddha renounced his home, his family and kingdom, controlled his senses, carnal desires and spent his life in solitude to earn Buddhtwa.
To be simple – one has to understand what is complexity? How to master the complexity to become simple like a child? The complexity has got multiple attributes, after deciphering these attributes, we can be very simple.
There is always a chaos in human mind. Either let the chaos follow its own path or flush it out with your strong will-power. In software as well, we have to bring chaos to order.
The human being and software both offer infinite possibilities of flexibility. Again, it leads to complexity.
A comparative analysis of complexity attributes of human and software
|Human||Software (Grady Booch’s book)|
|Complex demography||The Complexity of the Problem Domain|
|Growing Age – At each stage, it offers unique challenges||The Difficulty of Managing the Development Process|
|Flexibility in behavior and thoughts||The Flexibility Possible through Software|
|Inability to comprehend human’s behavior||The Problems of Characterizing the Behavior of
Dealing with Complexity – Human or Software
The art of mastering complexity is divide et impera (divide and rule).