I hope it's not just me, but there should be an equation based on objective measures about the desired product and the teams quality and experience that could determine the best development methodology.<p>Obviously this would require a lot more fundamental research, but I don't see it as an impossible task. I am continually surprised at the lack of this type of research in computer science.
I like the gist of this post but I would add that the best method is one that works for your team and your organization. After, software is generally a team effort and a large part of modern languages help you make the logic of your actions clear to those who read your code later