People constantly confuse agile development with software design. Agile is not, and was never intended to be, a way to design software. It is a way to implement software. How you design it is up to you, though agile certainly encourages you to involve all stakeholders from the beginning, and to make design changes incrementally throughout development as circumstances warrant. But it is not a design methodology.
I think it's an interesting article, with good points, but fundamentally I have to disagree with this statement. Empirically, it just isn't true, in my experience. It just means that all those changes by the customer to what they wanted, that the devs object to and management (which has to meet the customer face to face) always in the end agrees to, happen at the end, when they are more difficult, because up until that point the project wasn't "real" to the client, and they really couldn't tell you what they wanted until they saw that what you built wasn't it.