エクストリーム・プログラミング プラクティス
新しいテストが失敗するのを見る: プログラマーは、テストが実際に失敗するのを確認する。時間の無駄に思えるかもしれないが、このステップは、本番コードの状態についてのあなたの信念が正しいことを確認するのに重要である。テストが失敗しなかった場合、プログラマーはテストコードにバグがあるか、本番コードが新しいテストで記述された機能をサポートしているかを判断する必要がある。
コードを書く: プログラマーは、新しいテストが合格するように、十分な量の本番コードを書く。
テストの実行: ユニットテストを実行して、新しい本番コードが新しいテストに合格しているかどうか、他のテストが失敗していないかどうかを確認する。
リファクタリング: 本番コードとテストコードの両方からコードの臭いを取り除く。
上記のプロセスのより強力なバージョンについては、アンクルボブ(英語版)の「TDD 三原則」を参照のこと。
エクストリーム・プログラミングにおける主な計画プロセスは、計画ゲームと呼ばれている。
ゲームとは、通常は週に一度、イテレーションごとに開催される会議のことである。計画のプロセスは2つに分かれている。
リリース計画: これは、どのような要件がどの直近のリリースに含まれるか、いつ配信されるべきかを決定することに焦点を当てる。顧客と開発者の両方が参加する。リリース計画は3つのフェーズで構成される: 探索フェーズ: このフェーズでは、顧客はシステムの重要な要件の候補リストを提供する。これらは、ユーザーストーリーカードに書き留められる。 コミットメントフェーズ: コミットメントフェーズでは、ビジネス側と開発者は、次のリリースに含まれる機能と日付にコミットする。 ステアリングフェーズ: ステアリングフェーズでは、計画を調整したり、新しい要件を追加したり、既存の要件を変更・削除できる。