Agile programming approaches have been all the rage at user group meetings and NFJS for the past several years.
Every project I have been on since mid 2003 has utilized one or more of these approaches, whichever I could get the team and/or customer to buy into. The short iteration cycles are the easiest to sell, and the testing is easy to do even without permission, though different programmers resist this technique with differing amounts of force.
My most recent project in 2009 saw agile practices undertaken with great gusto by the customer, and as a result saw the biggest boost in yeild. As a result, it has also been one fo the most successful and enjoyable projects I have worked on.
No-one would ever give me an award for purity in agile practices. My own testing tends to be too course grained and hurried, sufficient to get it working initially but insufficient for daily test runs. Similarly, pair programming is done on my teams with only half hearted zeal, we tend to split up the work once we have a shared technique and meeting of the minds. Frequent refactoring, however, is usually done quite aggressively - as it seems to bear the highest yeild for the least effort.
Perhaps the easiest thing to implement is also the highest yeild. A daily standup meeting (90 seconds per developer every day same time) can be amazing in it's effect on a team. It takes a forceful personality to implement in the initial 21 days - but once it's "in" it's rock solid and well loved by all. And the accountability and zeal that follows is hard to beat. I've used this technique for two straight years and have nothing but good reports to offer.