エクストリーム・プログラミング プラクティス
イテレーション計画: ここでは開発者のアクティビティとタスクを計画する。このプロセスでは、顧客は関与しない。イテレーション計画も3つのフェーズで構成される: 探索フェーズ: このフェーズでは、要件がさまざまなタスクに変換される。タスクはタスクカードに記録される。 コミットメントフェーズ: タスクはプログラマーに割り当てられ、完了するまでの時間が見積もられる。 ステアリングフェーズ: タスクが実行され、最終的な成果が元のユーザーストーリーと一致していく。
計画ゲームの目的は、製品を納品に導くことである。いつ成果物が必要とされ、完成するかという正確な日付を予測するのではなく(それは困難である)、直接的なアプローチで「プロジェクトを舵取り」して納品することを目指す 。
計画ゲームのアプローチは、ソフトウェア以外のプロジェクトやチームでも、ビジネスアジリティ(英語版)の文脈で採用されている。
ユニットテストは、コードの一部 (クラス、メソッドなど) の機能性をテストする自動テストである。 XPでは、ユニットテストは最終的なコードがコード化される前に書かれる。 このアプローチは、プログラマーが自分のコードが失敗する可能性のある条件について考えるように刺激することを意図している。 XPでは、プログラマーは、コードが失敗する可能性のある条件がこれ以上思いつかなくなったときに、コードが完成したと言う。
テスト駆動開発は、次のステップを素早く回しながら進む。各ステップは、長くても数分、望むらくははるかに少ない時間で完了する。 各ユーザーストーリーは、通常1日から2日の作業を必要とするので、ストーリーごとに非常に多くのサイクルが必要となる。
ユニットテストを書く: プログラマーは、本番のコードに機能が完全には実装されていないので、失敗するはずの最小限のテストを書く
↑ Beck, K. Extreme Programming Explained: Embrace Change 2nd. ed. Addison-Wesley, 2000 pp. 54
↑ Melnik, Grigori; Maurer, Frank (2004). Introducing Agile Methods: Three Years of Experience. Proceedings of the 30th Euromicro Conference. IEEE. pp. 334–341. CiteSeerX 10.1.1.296.4732. doi:10.1109/EURMIC.2004.1333388。
↑ Leybourn, E. (2013). Directing the Agile Organisation: A Lean Approach to Business Management. London: IT Governance Publishing: 146–150.
↑ “Three Rules of TDD”. 2020年9月6日閲覧。
↑ Kolawa, Adam; Huizinga, Dorota (2007).