@Alex Papadimoulis said:
I believe that it's easiest to put "agile development" into perspective when we refer to it as its name from yesteryear: Cowboy Coding. The fact of the matter is, "agile development" does not work and cannot work.
I felt I had to reply when I read this, as this is outright wrong. Agile is not the best fit for everyone, but I have had the pleasure of working in agile environments at several companies as well as traditional waterall and RUP, and imho agile is a great way to go.
However, this is subjective, it really depends on the team, the people, and how well it is implemented. Agile is not "cowboy coding" (in fact, if you ask me, waterfall is!), but rather just using best practices that have been around for ages, but just branded under a shiny new name. TDD ensures that you build code that is well tested, having the client write FIT tests ensures you implement requirements correctly. Pair programming helps share knowledge so that if your resident expert gets hit by a bus tomorrow, things still go smoothly. Not only that, but while pair programming novices can learn the system quick, while experts (not experts per se, but experts on the software system) who pair can help each other make better design decisions while coding.
Having worked through several Death March projects, as well as working on agile teams, it is my opinion agile is the best way to develop software. On all the agile teams I have been on, we always met the release date, and not only that, but we had a workable system the client could use before the release date. and I have never been stressed out while on XP teams, and I have always been able to understand the entire system being developed very quickly (it's great when you can write working code for a system on your first day).
I'd suggest doing research and subscribing to the xp mailing list on yahoo groups to seriously learn about xp rather than listen to subjective nonsense. There seems to be a lot of hate on agile methods like XP from people who have never tried it for a 12 week period, and from experience I have seen that companies who have tried it for a 12 week period have never gone back to anything else.
You should also check out many of the great books out there on XP and software development. Extreme Programming Installed, Extreme Programming Explained,and Planning Extreme Programming. Agile Software Development by Craig Larman is also an excellent (and short) read. Finally, I would have to suggest "Ship It!" by Jared Richardson and William Gwaltway.
Like I say with everything, although Agile works for ALOT of people, Your Mileage May Vary. ;)