As one goes through school, it becomes evident, that the real world is non-linear.
We start with ‘1+1=2’ and progress to algebra. The fist surprise is when we have to sum an infinite number of infinitely small values. Calculus with the integrals and derivatives is the formal introduction of what we already use instinctively: abstraction and decomposition. If you are lucky, linked partial differential equations will follow with the wonderful realization that the world is amazingly complex, chaotic and non-linear. Then it becomes clear, that it is better to learn FFT and get in line for time on a supercomputer, because only the really talented people can pursue the elusive analytical solutions.
Humans are non-linear. My first memory is about tugging on my grandfather’s mustache at the age of 4. No memories before that, which is very non-linear. The human brain is non-linear, elastic, fuzzy, error prone and most of its workings are out of reach for the analytical prefrontal cortex. At least that is my hunch 🙂
Before applying non-linear thinking to Information Technologies, here is a fun thought experiment:
As I am writing these lines, my brain is using about 20 watt of power. In addition my computer is consuming approximately 300 watt. The 300 watt was generated about a millisecond ago in the coils of an alternator propelled by steam, wind or water.
The lucky encounter of four protons may have happened millions of years ago inside the Sun. Then it took thousands of years for the photons to migrate to the Sun’s surface and 8 more minutes to hit the chlorophyll molecule to provide the energy for building carbohydrates. Then those carbohydrates got dragged underground by the tectonic plates floating on the molten mantle heated by radioactive decay. After being cooked for millions of years the resulting natural gas migrated to and accumulated in geological traps, was brought to surface, burnt and produced the steam for the turbine.
I use the 320 watt to carefully arrange 24 symbols from left to right based on the symmetric encryption system called English Language and flip tiny magnetic domains on a spinning plate to record them. While I create order on the magnetic surface the Solar System is getting more disorderly. And the orientation of those tiny magnetic domains will not survive long. They will go fuzzy again in about 10 years or so.
Am I doing the right thing typing on the keyboard and gazing at the monitor? Is there a more efficient way to use my time? What is the order/disorder ratio of my activity and how can I increase it? Unfortunately the links between information entropy and thermodynamic entropy are not evident.
Or at least, how can I maximize the lifetime of my thoughts? The hard drive is certainly not the ideal solution. I want to get the most out of my 2.4 kilojoules worth of thinking (20watt*1200 seconds), or 3% of a Mars Bar. That’s it! I will post my carefully arranged symbols on a public blog and submit a link on Reedit or Slashdot, so others can read it and my Meme may takes off and survives in the competitive evolutionary ocean of human thoughts.
“In this age of specialization men who thoroughly know one field are often incompetent to discuss another. The great problems of the relations between one and another aspect of human activity have for this reason been discussed less and less in public.” –Richard Feynman
Linear and Non-linear IT thinking
Non-linear thinking means cycles of abstractions and decompositions
Developing a perspective of time (understanding internal/external trends) or context (understanding business strategies and corresponding IT impacts) requires abstraction. Making meaningful actionable decisions require decomposition.
Information Technologies supporting complex business processes have evolved to the point where a whole series of subject matter experts are needed to understand the layers: hardware, OS, platform, communication, application, integration, information, and business process.
It is becoming difficult for people to possess both the necessary breadth and depth to successfully run the mental cycles of abstractions and decompositions. As a result many IT decisions are being made in silos.
So, what can we do to solve this problem? Here are a few ideas:
- Thoughtful system partitioning, SOA, loose coupling
- Outsource complexity to the experts (e.g. cloud)
- Provide the simplest solution that is still acceptable for your customers
- Consider Glass’s Law of 25% increase in functionality increases complexity by 100%
- Avoid group-think; groups often go for the lowest common intellectual denominator, i.e. linear thinking
- Make cross-functional cross-discipline collaboration a process
- Leverage the Information Technologies you already have
- Fanatically expose Total Cost of Ownership
- Reward the strategic thinkers and consensus builders of your organization
- Designate people to think across the silos (Business CIO, Enterprise Architect, Service Manager)
- Hope that your competition is dealing with the problem less successfully than you are