Why is Making Software so Difficult?

Why is Making Software so Difficult?

We often think of Software Development as a pursuit grounded in logic and clarity. There are stereotypes of software developers as devout followers of logic, more interested in binary digits than their fellow humans. From this perspective it can be shocking to discover that software projects have high failure rates and that some projects fail to the tune of billions. How is this level of chaos possible in a logical discipline with scientists at the helm?