The Situation In Software Software, which has does so well in standardizing and automating other industries, is having trouble repeating that performance in its own industry. The growth of productivity and product quality has been less in software as compared to, say, electronic hardware or automobiles. If we look into how people develop software, we can see some things that contribute to the view that software is complex and not at all like those other kinds of products. The development team for a system that will be implemented on a client-server hardware architecture is responsible for everything from nested case statements to ensuring that the system achieves the required transaction throughput rates.
Programmers looking at source code can only see programming language constructs.
Looking at just the trees makes it hard to see the forest. I believe that the lack of a view of the larger scale structures of software systems is a major contributor to the apparent complexity commonly ascribed to software systems. Residential house design and construction would look intrinsically complex if they were viewed from the level of hammers and nails. Most carpenters, of course, work to a plan developed by an architect. They can easily see the larger structure of the house in the architect's plans.