The meaning of complex and complicated is fuel for discussions. Especially when using machine learning technology. So simple advice: Keep it simple:
- Complex: Does a lot. Complexity is unavoidable when humans are involved.
- Complicated: Difficult to understand. But for many large systems, like cars and planes, unavoidable.
Machine learning aims to find answers to complex problems. A machine learning system is complicated. Complicated systems are highly coupled and therefore fragile. Algorithms aim to solve complicated problems.
Algorithms are predictable. Deep Learning raises explainability questions on why the computer has decided to select that specific answer.
- The design of a chipset used in phones or computers is complicated. To figure out how a chip works would take a long time. Even if you are an experienced engineer.
A complicated system is ultimately knowable. If understanding it is important, the effort to study it and make a detailed diagram of it would be worthwhile. This is what business IT architects often do. Create a model that helps with problem solving.
So complicated = not simple, but ultimately knowable.
Complex is hard to control and to predict. An example:
- The success rate of a new company that sells an innovative unique product.
You could study many scientific papers on success or failure factors for new companies for years, but you will never be able to predict the success rate of a new company. All the effort to study all the elements in more and more detail will never give you any certainty for a specific case.
So complex = not simple and never fully knowable. Just too many variables interact.
All systems that require human interaction to function correctly are complex. Managing humans will never be complicated. It will always be complex. No book or diagram or expert is ever going to reveal the truth about managing people. The behaviour of humans is not a hard scientific science. So be alarmed whenever some new autonomous device enabled with state of the art machine learning technology is used to protect human lives. E.g. autonomous vehicles that claim to protect you.
You can’t control complex systems. It’s a mathematical impossibility. The Conant-Ashby Theorem: “Every good regulator of a system must have a model of that system.” leads to the Law of Requisite Variety: “That the available control variety must be equal to or greater than the disturbance variety for control to be possible”, which is to say, that the control mechanism of a thing must be more complex than the thing being controlled.
Business managers often see new project initiatives as complicated when they are in fact complex, and thus design complicated systems to manage the change. Which usually fail miserably in very short order when they encounter a circumstance outside of the control model. Devops, scrum and all project management techniques and certification will not help.
A complex project is very hard to control. Use advanced but simple tools to hold grip.
If we abandon the idea of controlling complex systems and focus on intelligently influencing them, we’ll have greater success.