Extreme-programming-process-cycle

提供:Dev Guides
移動先:案内検索

エクストリームプログラミング-プロセスサイクル

エクストリームプログラミングはアジャイルプロセスです。

エクストリームプログラミングはアジャイルプロセスです。

  • 十分なコミュニケーションとフィードバックを重視-
  • チーム内(ペアプログラミング、集合的なコードの所有権、シンプルなデザイン)
  • 顧客とともに(オンサイト顧客および受け入れテスト)
  • リリース計画(顧客と開発者が見積もりに参加している場合)
  • エクストリームプログラミングは、人々がコミュニケーションを取り直さず、彼らを再紹介しないときに気が付くコーチを採用しています。
  • 抱擁の変化-
  • 頻繁な反復(短いリリース)
  • 簡単に設計および再設計する(単純な設計)
  • 継続的なコーディングとテスト(ペアプログラミング)
  • 顧客を常に関与させる(オンライン顧客)
  • 短いイテレーション(短いリリース)で顧客に実用的な製品を提供します。
  • 欠陥を早期に排除し、コストを削減します(ペアプログラミング)
  • コードレビュー
  • 単体テスト
  • 変更およびテストのすべてのセットの統合

極端なプログラミングプロセスサイクル

エクストリームプログラミングは反復的かつ漸進的であり、タイムボックスサイクルによって駆動されます。 したがって、エクストリームプログラミングプロセスのリズムは非常に重要です。

Extreme Programmingには次のアクティビティレベルがあります-

  • 製品ライフサイクル
  • リリース
  • 繰り返し
  • タスク
  • 開発
  • フィードバック

各アクティビティレベルは、次のレベルに必要な最小限の入力を提供します。 彼らは-

  • 製品ライフサイクルアクティビティは、リリースサイクルの入力を提供します。
  • リリース計画セッションは、反復サイクルの入力を提供します。
  • 反復計画セッションは、タスクサイクルの入力を提供します。
  • タスク開発は、開発エピソードの入力を提供します。
  • 開発は製品を生産します。

フィードバックは、プロジェクト全体および上記のすべてのアクティビティレベルにわたる継続的なアクティビティです。

製品ライフサイクル

これは、探索段階とも呼ばれます。 機能セットの定義と計画が含まれます。 顧客は価値の高い要件に到達し、要件はユーザーストーリーとして提供されます。

ストーリーは、このレベルのアクティビティの主要な成果物です。

リリース

これは、コミットメントフェーズとも呼ばれます。 この活動では-

  • チーム全体が集まるように-
  • 進捗状況が確認されます。
  • 新しい要件を追加したり、既存の要件を変更または削除したりできます。
  • お客様がストーリーを提示します。
  • ストーリーについて説明します。
  • 開発者は、技術的なアプローチとリスクを決定します。 これらは、第一レベルの見積もりとオプションを提供します。
  • 顧客はストーリーに優先順位を付け、ターゲットリリースタイムボックスを選択します。
  • 顧客と開発者は、含まれる機能と次のリリースの日付にコミットします。
  • 開発者-
  • 可能性のある反復にストーリーを配置します。
  • 前のリリースの受け入れテストからの不具合修正を含めます。
  • 反復を開始します。

リリース計画は、このレベルのアクティビティの主要な成果物です。

繰り返し

これは、ステアリングフェーズとも呼ばれます。 チーム全体が集まって、進捗状況を確認し、計画を調整します。 顧客はイテレーションのストーリーを提示し、ストーリーについて詳しく説明します。

反復計画は、このアクティビティの主要な成果物です。

開発者-

  • 詳細な技術的アプローチを決定します。
  • 各ストーリーのタスクリストを作成します。
  • 開発を開始します。
  • システムを可能な限り展開する

展開可能なシステムは、このアクティビティの最終的な成果物です。

タスク

開発者はタスクにサインアップし、ストーリーを実装するための開発エピソードを開始します。 これにより、反復のタスクが完了します。 また、開発者は、反復のストーリーが受け入れテストで完全であることを確認します。

開発

開発者はペアを形成します。これは、継続的かつ動的なアクティビティです。

各ペア-

  • ストーリーの理解を検証します。
  • 詳細な実装アプローチを決定し、シンプルな設計を保証します。
  • テスト駆動開発を開始します。つまり、単体テストの作成、単体テストに合格するコードの実装、コードの単純化のためのリファクタリングを開始します。
  • 適切な間隔でシステムコードベースにコードを統合します。
  • 進行状況を頻繁に確認します。

フィードバック

ペアは、常に自分自身の内部とチームの外部に常に通信します。 オンライン顧客も継続的にコミュニケーションに関与しています。 特定のチームは、毎日のスタンドアップミーティングに頼って、チーム全体のステータスを迅速に話し合い、必要に応じて可能な再同期とマイクロ計画について話し合います。

反復およびリリースのレビューは、プロセスの調整と改善の全体的なステータスとポイントを提供します。

  • 開発エピソードは、タスクの再考を引き起こす可能性があります。
  • タスクの開発は、ストーリーの再考を引き起こす可能性があります。
  • ストーリーの再推定は、反復の変更または回復を引き起こす可能性があります。
  • 反復結果により、リリース計画が変更される場合があります。

エクストリームプログラミングのプロセスサイクルを以下に示します。

極端なプログラミングプロセスサイクル