忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【アジャイル開発】XP(エクストリーム・プログラミング)の反復開発プロセス!「XPの流れ」

アジャイル開発の代表的手法である「XP(eXtreme Programming)」において、顧客と開発チームが協調して短いサイクルで開発を進める基本フロー(計画ゲーム ➔ イテレーション計画 ➔ イテレーション)のまとめカードです。

1. XPの開発プロセス(3つのステップ)

(1) 計画ゲーム(Planning Game)
顧客:実装したい要求(ユースケース)を「ストーリーカード」に書き出す。
開発者:各ストーリーの「優先順位付け」「コスト(見積もり・工数)評価」を行う。

(2) イテレーション計画(Iteration Planning)
・選定されたストーリーを「具体的な開発作業(タスク)」に細分化・分割する。
・分割したタスクを担当メンバー(人)に割り当てる。

(3) イテレーション(Iteration:イテレーションの実行)
・開発サイクルの中で「テストケースの作成(TDD)」「コードの作成(ペアプログラミング等)」を行う。
・完成したストーリー全体を検証・テストし、実際に動くソフトウェアとしてリリース(成果物の確認)する。

2. 各フェーズの役割とポイント

ステップ主な作業内容XPのプラクティスとの関連
(1) 計画ゲーム 顧客が「何を作るか(要求)」を決め、開発者が「コスト・工数」を見積もるコラボレーション。 オンサイト顧客(顧客の常駐・協調)、ユーザーストーリーの作成
(2) イテレーション計画 1〜2週間程度の短い反復単位で消化するタスクに分解し、各自に割り当てる。 小さなリリース(Small Releases)、作業のタスク化・可視化
(3) イテレーション 実際に設計・開発・テスト・検証・納品を行う開発サイクル。 テスト駆動開発(TDD)ペアプログラミング継続的インテグレーション(CI)

3. まとめ

XPでは、「計画ゲーム」で顧客と一緒にストーリー(要求)とコストを明確化し、「イテレーション計画」でタスクに分解、「イテレーション」でテストと実装を繰り返して迅速にリリースするというサイクルを回します。開発途中の要求変更にも柔軟に対応できるのが最大の特徴です!


PR