ライフサイクル特性
適応型ソフトウェア開発ライフサイクルには、6つの基本的な特徴があります。
- ミッション重視
- 機能ベース
- Iterative
- Time-boxed
- リスク主導
- 変更耐性
この章では、適応型ソフトウェア開発のこれら6つの特徴を理解します。
ミッション重視
多くのプロジェクトでは、チームを導く全体的な使命は明確に表現されていますが、プロジェクトの開始時には要件が不確実な場合があります。ミッションステートメントは、最初は探索を奨励するガイドとして機能しますが、プロジェクトの過程では焦点が狭くなります。ミッションは、固定された目的地ではなく境界を提供します。ミッションステートメントとそれらのステートメントをもたらす議論は、重要なプロジェクトのトレードオフの決定を行うための方向性と基準を提供します。
明確な使命と絶え間ない使命の洗練の実践がなければ、反復的なライフサイクルは振動するライフサイクルになり、開発の進展なしに前後に揺れ動きます。
機能ベース
アダプティブソフトウェア開発ライフサイクルは、タスクではなくアプリケーション機能に基づいています。機能は、顧客の優先順位に基づいて反復中に開発される機能です。
顧客がフィードバックを提供すると、機能は数回の反復で進化する可能性があります。
実装後に顧客に直接的な結果を提供するアプリケーション機能が主要です。ユーザーマニュアルなどの顧客向けドキュメントも機能と見なされます。データモデルなどの他のドキュメントは、成果物として定義されている場合でも、常に二次的なものです。
反復
適応型ソフトウェア開発ライフサイクルは反復的であり、フィードバックを取得し、結果として得られる学習を吸収し、さらなる開発のための正しい方向を設定するために、頻繁なリリースに焦点を合わせています。
タイムボックス
適応型ソフトウェア開発ライフサイクルでは、反復はタイムボックス化されます。ただし、適応型ソフトウェア開発のタイムボックスは期限ではないことを覚えておく必要があります。コラボレーション環境に挑戦するためにチームを長時間働かせたり、成果物の品質を妥協したりするために使用しないでください。
適応型ソフトウェア開発では、タイムボックス化は、必要に応じて、ハードトレードオフの決定に焦点を合わせて強制するための方向性と見なされます。変化率が高い不確実な環境では、作業を完了するためにタイムボックスなどの定期的な強制機能が必要です。
リスク主導
適応型ソフトウェア開発では、反復は重大なリスクを特定して評価することによって推進されます。
変更耐性
適応型ソフトウェア開発は変更耐性があり、変更を競争上の優位性を組み込む能力と見なしますが、開発の問題とは見なしません。