There are a number of challenges with Agile practice.
For the most part, as many here have pointed out, these tend to be due to people fundamentally misunderstanding or failing to implement Agile principles correctly or consistently.
But for me the biggest problem is that Agile seems ... naive in that it doesn't seem to recognize the need for an overall technical design -- what most would probably call an "architecture" (please see https://medium.com/@frickingruvin/defining-architecture-edcb334d5cbb) or the fact that in the absence of such a unifying high-level technical design and design principles, developers will iterate themselves into a corner, creating tons of technical debt along the way in the form of multiple, competing implementations of the same algorithms, etc.
Once these mistakes are made, they are almost never unmade since delivering new features is what drives most organizations, no matter how rickety the foundations supporting these new features might prove to be.
You make a lot of fair, reasonable points in this article, but you miss a fair number too (like "Trying to measure the unmeasurable" and "There's no such thing as agile"), including what I, after 25+ years of designing and leading teams to deliver successful software systems, consider the most important.
Agile software projects need a "north star" toward which they iterate, starting with the crucial data structures, services, and infrastructure and adding to or enhancing in rational sequence, negotiated between the priorities of the business and the realities of software engineering.