十分に定義されたユニットテストは、この問題を軽減するはずである:予期せぬ依存関係がエラーを発生させた場合、ユニットテストが実行された際にエラーがあらわになる。ソースコードの共同所有は、メンバーへの支援が改善され、知識と学習の幅が広がり、コードの責任が共有され、コードの品質が向上し、やり直しが減る。しかし、メンバー間の衝突の増加、バグの増加、開発者の集中力の乱れと思案の中断、開発時間の増加、またはコードの理解不足につながる可能性もある。シンプル設計.プログラマーは、ソフトウェア設計に「シンプル・イズ・ベスト」のアプローチを取るべきである。新しいコードが書かれるときはいつでも、作者は「同じ機能を導入するためのより簡単な方法はないか」と自問自答する必要がある。答えが「イエス」であれば、シンプルな方を選択すべきである。リファクタリングは、複雑なコードをよりシンプルにするのにも使われるべきです。システムメタファー.システムメタファーとは、顧客、プログラマー、マネージャーなど、誰もがシステムがどのように機能するかを語ることができるストーリーのことである。これは、チームメンバーが特定のクラス/メソッドの機能をその名前だけから容易に推測できるようにするクラスとメソッドの命名についての概念である。それぞれのクラスや操作の機能は、チーム全体から見ても明らかである。プログラマーの福祉.持続可能なペース.開発サイクルが連続的インテグレーションの短いサイクルであり、完全な開発(リリース)サイクルがより頻繁に行われるため、XPのプロジェクトは、他のプロジェクトが必要とする(残業が必要となる)よくあるクランチタイム(訳注:締め切り前の踏ん張りどころ)には従わない。また、この概念には、人は十分な休息をとっていれば、最高のパフォーマンスを発揮し、最も創造的な活動を行うことができるということも含まれている。持続可能なペースを達成するための重要な要因は、頻繁なコードマージと、常に実行可能でテストが網羅された高品質のコードである。絶え間ないリファクタリングの作業方法は、チームメンバーに新鮮で注意深い心を強制する。チーム内での激しい共同作業のやり方は、週末に充電する必要性を駆り立てることとなる。