One of the talks I attended was given by Ravi Mohan. Ravi described his experiences in applying Agile methodologies (XP in particular) to his project.
To start with, the project is not your typical everyday project. The project is in the AI domain, and is implemented in a combination of Lisp, Erlang and C, with Ruby as the glue between the three. The whole thing runs on a cluster of around 200 unix boxes with a parallel virtual machine layer above it. The entire project had a team size of one (Ravi himself).
Given a project like this, is it possible to apply agile methodologies to it?
The conclusion was that it is possible to apply some of the practices, but some of them crashed and burned. For instance, XP says that the customer should always be available to give feedback. That was impossible here. Another problem was getting unit testing tools for code in Lisp and Erlang. Yet another problem was that some functions were probabilistic in nature (for eg. return true 90% of the time), so if it gave the wrong output, it was often unclear whether it was because of a bug or because it was in the 10% when it was supposed to give another output.
Other practices like breaking up the requirements into stories worked very well. Continuous integration was another big success.
Overall, XP kindof worked, but not without heavy modification of the process (is it still XP then?).