..."Because software is just this crazy complex beyond human comprehension thing we can't make rules about because its all voodoo and chaos theory."
It is not so much that software is crazy and complex, although it is, but the fact that computers are dumb machines that somewhere along the line have to be told every little step along the way.
Humans are not like that and even small children learn from their mistakes. In information science, terms like artificial intelligence and machine learning are often bandied about. The problem is that computers don't really "learn" the way people do and fix their own mistakes. That was illustrated to me some years ago by watching my son-in-law, who is a skilled software engineer, train his firstborn son how to walk. He simply helped the little tyke to stand up and then moved back a step or two, holding his arms wide and let the little one take a step or two and then of course fall down. Daddy helped him stand up again and repeat the procedure. Pretty soon the little fellow was taking three or four steps before falling.
This procedure is far different from programming a computer, in that nowhere did the father make an attempt to teach the boy how to move his leg muscles to maintain his balance. The kid learned that all on his own, but no computer is capable of learning a thing, unless first instructed in the minutest steps. The little boy did not need to be instructed in the details of which muscles to move when and how and what the response to the signals from the balance sensors in the ear should be. Computers are complex yet unbelievably dumb machines that have to be told every little detail of a procedure to achieve a given goal. Humans are not nearly as detail oriented, therefore we often miss communicating the minute details that computers must have. As they say, the devil is in the details and that is especially true when it comes to instructing computers how to accomplish something useful.