ステアリングフェーズの中で、プログラマーとビジネス側はプロセスの「舵取り」をすることができる。つまり、変更を加えることができる。個々のユーザーストーリーや、さまざまなユーザーストーリーの相対的な優先順位が変更される場合がある: 見積もりが間違っているかもしれない。これは、それに応じて計画を調整するチャンスである。
探索フェーズ.
コミットメントフェーズ.
ステアリングフェーズ.
テスト駆動開発.
ユニットテストは、コードの一部 (クラス、メソッドなど) の機能性をテストする自動テストである。
XPでは、ユニットテストは最終的なコードがコード化される前に書かれる。
このアプローチは、プログラマーが自分のコードが失敗する可能性のある条件について考えるように刺激することを意図している。
XPでは、プログラマーは、コードが失敗する可能性のある条件がこれ以上思いつかなくなったときに、コードが完成したと言う。
テスト駆動開発は、次のステップを素早く回しながら進む。各ステップは、長くても数分、望むらくははるかに少ない時間で完了する。
チーム全体.
XP内では、「顧客」は請求書を支払う人ではなく、システムを実際に使用する人である。
XPでは、顧客は常に手元にいて、質問に対応できるようにしておくべきだと述べている。例えば、財務管理システムを開発するチームには財務管理者が含まれるべきである。
継続的プロセス.
継続的インテグレーション.
開発チームは常に最新バージョンのソフトウェアで作業する必要がある。
さまざまな変更や改良を加えたバージョンをローカルに保存しているチームメンバーがいるかもしれないので、数時間ごと、または大きな休憩が発生した際は、現在のバージョンをコードリポジトリにアップロードさせる必要がある。
継続的インテグレーションを行うことで、統合の問題によって引き起こされる、プロジェクトサイクル後半での遅延を避けることができる。
設計の改善.
XPの教義は、今日必要なものだけをプログラミングし、それをできるだけシンプルに実装することを推奨しているため、時には、これによってシステムが行き詰ることがある。
この症状の一つは、二重 (または複数の) メンテナンスの必要性である: 機能の変更は、同じ（または類似した）複数のコピーされたコードへの変更を要求し始める。