Agile sometimes works for long term projects with no hard deadli
Almost impossible to use for client oriented deliverables. And yes its an attempt to manage lazy/bad coders who can't manage their own time. A good process could eliminate human mistakes but rarely someone's incompetence.