I would add one thing: Understanding and controlling complexity.
When you have multiple systems, you can isolate interactions between them or not.
If you do not isolate complexity, the number of possibilities grows exponentially or factorially. People make the mistake all the time because exponential or factorial behavior grows very slowly at first, factorial of 3 or 4 is very small.
When you are inside an exponential curve you don't see the exponential, you see complexity growing like a line, it looks like linear behavior around the local point you are.
So people start small with very basic things and they start adding features and complexity to it. They improve their understanding of the problem, get better at solving the problem and become optimistic, the perceived difficulty or effort goes down, until they don't know how, but the problem has become intractable and a nightmare to deal with.
Now they will ask for refactoring or restarting from scratch, but without deep knowledge about complexity they will repeat the same mistakes again.
For those people to watch someone that understands complexity is going to be traumatic. They will consider their success either magic or luck or both. It doesn't look that they make anything different, but the magicians get things done and they can't.
When you have multiple systems, you can isolate interactions between them or not.
If you do not isolate complexity, the number of possibilities grows exponentially or factorially. People make the mistake all the time because exponential or factorial behavior grows very slowly at first, factorial of 3 or 4 is very small.
When you are inside an exponential curve you don't see the exponential, you see complexity growing like a line, it looks like linear behavior around the local point you are.
So people start small with very basic things and they start adding features and complexity to it. They improve their understanding of the problem, get better at solving the problem and become optimistic, the perceived difficulty or effort goes down, until they don't know how, but the problem has become intractable and a nightmare to deal with.
Now they will ask for refactoring or restarting from scratch, but without deep knowledge about complexity they will repeat the same mistakes again.
For those people to watch someone that understands complexity is going to be traumatic. They will consider their success either magic or luck or both. It doesn't look that they make anything different, but the magicians get things done and they can't.