エクストリームプログラミング
短い開発サイクルと継続的なフィードバックを重視するアジャイル開発の手法。ペアプログラミング、テスト駆動開発、継続的インテグレーションなどの実践方法を組み合わせる。
イマシルちゃんの解説
作ったものを最後にまとめて確かめるより、少し作るたびに試した方が間違いに気づきやすいよね。
チームの人と相談しながら、短い間隔で動くものを作って、確かめて、直していくんだ。
一つひとつは小さな習慣でも、組み合わせると変更に対応しやすくなるんだよ。
より深い解説
位置付け
XP(eXtreme Programming)は、要求の変更に対応しながらソフトウェアを開発するアジャイル系の手法である。
単に実装速度を速くすることではなく、品質とフィードバックを重視する。
代表的なプラクティス
| プラクティス | 役割 |
|---|---|
| ペアプログラミング | 二人で同じ作業を進め、実装を継続的に確認する |
| テスト駆動開発 | テストを先に書き、実装と改善を繰り返す |
| 継続的インテグレーション | 小さな変更を頻繁に統合し、自動テストなどで確認する |
| リファクタリング | 外から見える動作を変えずに内部構造を改善する |
| 小規模リリース | 利用可能な成果を短い間隔で届ける |
| シンプルな設計 | 現時点で必要な設計を優先し、不必要な複雑さを避ける |
開発の流れ
- 優先度の高い小さな要求を選ぶ。
- 必要なテストと実装を進める。
- チーム内で頻繁に統合し、動作を確かめる。
- 利用者からのフィードバックを受け、次の作業を決める。
ほかのプログラミングの分類との違い
| 用語 | どのような分類か |
|---|---|
| XP | 開発の進め方・プラクティスの集合 |
| 構造化プログラミング | 制御構造を整理したプログラムの記述方法 |
| コンポーネント指向 | ソフトウェア部品の再利用を重視する設計の考え方 |
| ビジュアルプログラミング | 図形などで処理を表現する方法 |
XPは特定のプログラミング言語や画面操作手法ではない。複数の実践方法を組み合わせる開発手法である。