Agile is a way for teams who build software to organize themselves, their tasks, and their time. But agile is also a buzzword, and like all buzzwords this one is frequently used in a way that means everything and next to nothing at the same time. There’s a large industry of how-to books, training courses, and consultants who promote agile methodologies, and to be sure, many of these methodologies contain much good, but even now there’s a manager somewhere in codeland who has taken to agile like it possessed the magical powers of fairy dust, which can be sprinkled here and there to transform the software development process into something painless, fast, and cheap.
Jimmy Bogard’s article “Why I’m done with Scrum” points to the disruptions and time intensiveness of agile. Also, Lajos Moczar bemoans the absence of common sense in many ballyhooed agile practices (“Why Agile Isn’t Working: Bringing Common Sense to Agile Principles”). And for a thorough critique that pulls no punches, dive into this post by Luke Halliwell, who claims agile evangelism suffers from putting process over people. To an extent, all development methodologies are, Halliwell asserts, “fundamentally designed for mediocre developers who can’t think for themselves.”