そのような弛んだスケジュールでは、一日の終わりのテストに合格するためだけに人為的なスタブを生成しなければならないという焦りを感じることはない。厳格でないスケジュールでは、代わりに、数日間も費やして複雑な機能を開発してしまう。
持続可能なソフトウェア開発の理論は、エクストリーム・プログラミングチームがチームの混乱にもかかわらず成長できる理由が説明されている
コンセプト.
ゴール.
書籍『エクストリームプログラミング』では、エクストリーム・プログラミングは、より高品質なソフトウェアをより生産的に生産するために人々を組織化するソフトウェア開発の規律として説明されている。
XPは、長い開発サイクルではなく、複数の短い開発サイクルにより、要件変更のコストを下げようとする。
この教義では、変更はソフトウェア開発プロジェクトの自然で避けられない望ましい側面であり、変わることがない要件定義をしようとするのではなく、計画すべしとしている。
アクティビティ.
コーディング.
XPの支持者は、システム開発プロセスの唯一の真に重要な製品はコード、つまりコンピュータが解釈できるソフトウェア命令であると主張する。コードがなければ、動作する製品は存在しない。
コーディングは、最適な解決策を導き出すのに役立つ。コーディングはまた、プログラミングの問題についての考えを伝えるのにも役立つ。
複雑なプログラミングの問題を扱うプログラマーや、他のプログラマーに解決策を説明するのが難しいと感じるプログラマーは、シンプルな形でコード化し、そのコードを使って自分が何を言いたいのかを示すこともできる。
この立場の支持者らによると、コードは常に明確で簡潔であり、複数の方法で解釈することはできないと言う。
他のプログラマーも、自身の考えをコード化することで、コードに対してフィードバックすることができる。
テスト.
テストはエクストリーム・プログラミングの中心である。
エクストリーム・プログラミングのアプローチは、少しのテストでいくつかの欠陥を取り除ければ、多くのテストでより多くの欠陥を取り除くことができるというものである。
傾聴.
プログラマーは、顧客がシステムに何を必要としているのか、どのような「ビジネスロジック」が必要なのかに耳を傾けなければならない。