We used to build heavily routed networks that followed the physical characteristics of our buildings and environments. Now, at least in theory, VLANs can simplify network management by separating networks logically rather than physically.
We used to spend countless hours training and supporting users as they grappled with interfaces that were anything but intuitive. Now we save precious time thanks to the advent of HTTP/HTML user interfaces.
So, how can we say IT is becoming more complex and testing is getting harder? Software engineer Matt Quail's "law of software complexity" theory (madbean.com/blog/43) explains the dichotomy this way: "The underlying complexity of a given problem is constant. It can be hidden, but it does not go away. ... Complexity is conserved by abstractions. In fact, apparent complexity can be increased by abstractions, but the underlying complexity can never be reduced."
Quail goes on to say that complexity can be shifted by creating abstractions that hide it at one level but let it linger at other levels. He also says these abstractions leak, causing the hidden complexity to seep out over time. And, he says, since the nature of a problem is constant, you have to change the bounds (definition) of the problem if you're going to simplify matters.
I think he's on to something.