The whole post seemed so wrong compared to my experience, I decided to compile a list of specific complaints he has on how Agile works.
[Programmers are] often disallowed to work on improvements that can’t be related to short-term, immediate business needs (often delivered from on-high).
These decisions are invariably made by business people who will call shots based on emotion rather than deep insight into the technical challenges or the nature of the development.
Architecture and R&D and product development aren’t part of the programmer’s job, because those things don’t fit into atomized “user stories” or two-week sprints.
Under Agile, technical debt piles up and is not addressed because the business people calling the shots will not see a problem until it’s far too late or, at least, too expensive to fix it.
meaning that no one looks out five “sprints” ahead.
it eradicates even the possibility of work that’s acceptable for a mid-career or senior engineer.
“Agile” and Scrum glorify emergency. That’s the first problem with them. They’re a reinvention of what the video game industry calls “crunch time”. It’s not sustainable.
I actually think this is a useful list for anyone transitioning to agile development: these are all pitfalls that a certain kind of dysfunctional organization will try to twist it into. I even know that we actually had one or two of these problems in my organization, which took some time of engineering push-back to fix, and we narrowly avoided a few others.
I think the key element that the article is missing is that it blames Agile/Scrum for dysfunctional management, where in fact dysfunctional management will always produce dysfunctional organizations, with different flavors of dysfunction based on what it was trying to achieve.
For a counterpoint to many of the bad experiences offered up by the article, here are some good experiences you can expect to have if you adopt agile practices in a good, functional organization:
I am in no way claiming that these are universal, that if you simply follow the letter of the agile manifesto or scrum process right you will get here etc. - this is not 'no true Scotsman '. I'm simply saying that, while a bad organization doing agile (note: not 'an organization doing agile badly', but a bad organization doing agile as well as you want) will probably produce exactly the kinds of problems raised in the article, a good organization adopting the same practices should feel some if these advantages.
A good organization adopting some other kind of process or methodology or ideology will almost always produce good results, in different ways (for example, YAGNI is definitely not the only way of designing good software).