Why Humans and Software are Complex?

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

Discrete Systems

Dealing with Complexity – Human or Software

The art of mastering complexity is  divide et impera (divide and rule).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s