「Extreme Programming Explained」では、ベックは13の「主要なプラクティス」をリストしています。彼らです:
これらのうち、実際に職場で実装したのはどれですか?どれが最も便利でしたか?
使った
そしてそれは本当に成功しました。
ベストの練習があるとは思いません。そのリストにはTest-First ProgrammingやContinuous Integrationのような多くの優れた実践があります。
私の投票はContinuous Integrationです。 Joel Spolsky も彼の Joel Test でそれについて語っています。
チームは一緒に座ったりペアプログラミングをしたりせずに素晴らしい結果が得られると思いますが、多くの場合、作業を統合することが非常に重要です。すべてのプログラマーが更新されたバージョンを使用し、チームが作業を統合するのが早ければ早いほど、マージの競合を解決し、テスト時に統合エラーを検出するのが容易になります。
Continuous Integrationの詳細については、 この記事Martin Fowler を参照してください。
個人的には、次のようにして生産性の向上を見てきました。
もちろん、物事を改善できる他のものが常にミックスにあります。
一般的にこれらの最後の2つは、方法論に関係なく適切に配置する必要があります。CIも同様に適切に配置する必要があると思います。CIを使用しない適切な理由はありません。
最高のXPプラクティスはありません。
一般に、これらのプラクティスのいくつかはそれ自体で役立つ場合がありますが、実際にはそれらを組み合わせて使用すると効果があると思います。
プラクティスはいつでも置き換えたり変更したりできますが、XPには一連のプラクティスがあり、それぞれが役割を果たすことに注意してください。
多分あなたは次のような質問をすることができます:
1つまたは2つのプラクティスのみを実装する必要がある場合、どのプラクティスから最もメリットがありますか?
そして、答えは明らかになります。
デザイン/バグ/その他のコードベースに問題がある場合は、テスト駆動開発などの恩恵を受ける可能性があります...