The problem I see with various flavors of Agile is that they don't fit in particularly well with how things actually get done at companies. For example, teams running Agile are very reluctant to give both a delivery date and a fixed set of features. They're willing to promise one or the other, but not both. And that's a problem, because the whole rest of the organization really wants to know when they can announce th…
Extreme Programming suggests having a customer on site. In Scrum the Product Owner is merely a substitute for the Customer.
The agile manifesto values working software more than comprehensive documentation, but does not forbid documentation.
So why do companies and their devs misunderstand this?