software-engineering
complexity
The word “complex”, when used as an adjective, implies “consisting of many different and connected parts” and
when used as a noun implies “a group or system of different things that are linked in a close or complicated
way; a network”. Ant colonies, nervous system, public transportation systems of a country and software systems
are examples of complex systems. The common denominator in all these examples is the interconnected nature of
their parts. The reason for the interconnected nature of these systems is to deliver value. Complex systems
allow distribution of tasks and responsibilities among its parts. Ant colonies leverage the complex nature for
survival, achieved through the division of labour among the ants - such as finding food, maintaining the
colony, and protecting the queen. The nervous system is a complex network of nerves and cells that allow your
body to conduct various functions by carrying signals and messages to and from the brain to organs. Public
transportation systems are complex networks of buses, trains, and trams that allow people and goods to move from
point A to point B. Software systems are complex networks of code, data and infrastructure that allows a
business or an organisation to deliver value to the user of their products.