Adaptive-software-development-lifecycle

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

適応型ソフトウェア開発-ライフサイクル

適応型ソフトウェア開発はRADプラクティスから発展しました。 チームの側面もこれらのプラクティスに追加されました。 ニュージーランドからカナダまでの企業は、幅広いプロジェクトと製品タイプで、適応型ソフトウェア開発を使用しています。

Jim Highsmithは2000年にAdaptive Software Developmentを発表しました。

アダプティブソフトウェア開発プラクティスは、変化に対応する能力を提供し、計画と学習をほとんど必要とせずに製品が進化する乱流環境に適応できます。

ASDライフサイクルのフェーズ

適応型ソフトウェア開発は進化モデルと同様に周期的であり、フェーズ名は複雑なシステムでの予測不可能性を反映しています。 適応型開発ライフサイクルのフェーズは次のとおりです-

  • 推測する
  • 協力する
  • 学ぶ

これらの3つのフェーズは、適応ソフトウェア開発の動的な性質を反映しています。 適応開発は、決定論を明示的に出現に置き換えます。 ライフサイクルの単なる変更を超えて、管理スタイルのより深い変更に進みます。 適応型ソフトウェア開発には、動的な投機-コラボレーション-学習ライフサイクルがあります。

アダプティブソフトウェア開発ライフサイクルは、タスクではなく結果に焦点を当てており、結果はアプリケーション機能として識別されます。

Adaptive Software Development Lifecycle

推測する

計画という用語はあまりにも決定的であり、望ましい結果についてかなり高い程度の確実性を示しています。 計画への準拠の暗黙的かつ明示的な目標は、プロジェクトを革新的な方向に導くためのマネージャーの能力を制限します。

アダプティブソフトウェア開発では、用語プランは用語スペキュレートに置き換えられます。 推測しながら、チームは計画を放棄しませんが、複雑な問題の不確実性の現実を認識しています。 投機は探査と実験を奨励します。 短いサイクルでの反復が推奨されます。

協力する

複雑なアプリケーションは構築されず、進化します。 複雑なアプリケーションでは、大量の情報を収集、分析し、問題に適用する必要があります。 乱流環境では、情報の流れが高速です。 したがって、複雑なアプリケーションでは、大量の情報を収集して分析し、問題に適用する必要があります。 これにより、チームのコラボレーションでしか処理できないさまざまなナレッジ要件が発生します。

共同作業を行うには、共同で結果を出し、知識を共有し、意思決定を行う能力が必要です。

プロジェクト管理のコンテキストでは、Collaborationは、従来の管理手法で管理することと、出現に必要なコラボレーション環境を作成および維持することのバランスを示しています。

学ぶ

ライフサイクルの学習部分は、プロジェクトの成功に不可欠です。 チームは次のようなプラクティスを使用して、常に知識を強化する必要があります-

  • 技術レビュー
  • プロジェクト回顧
  • 顧客フォーカスグループ

各反復後にレビューを行う必要があります。 開発者と顧客の両方が自分の仮定を検証し、各開発サイクルの結果を使用して次の方向を学習します。 チームは学びます-

  • 製品の変更について
  • 製品の開発方法に関する基本的な前提のより根本的な変更

チームが大きなミスではなく小さなミスから学習できるように、反復は短くする必要があります。

推測-コラボレーション-全体としての学習サイクル

上記のSpeculate-Collaborate-Learnサイクルからわかるように、3つのフェーズが非線形で重複していることは明らかです。

アダプティブフレームワークから以下を観察します。

  • 学習せずにコラボレーションすること、またはコラボレーションせずに学習することは困難です。
  • 学習せずに推測すること、または推測せずに学習することは困難です。
  • 協力せずに推測することや、推測せずに協力することは困難です。