アプリケーション ライフサイクル管理手法

完了

アプリケーション ライフサイクル管理 (ALM) には、アプリケーションが使用されなくなるまで継続する広範な視点があります。 ALM にはさまざまな手法があるため、開発においてニーズに合った適切な手法を選択することは非常に重要です。 このモジュールおよび ALM の目的は、開発者の生産性を高め、チーム間のコラボレーションを促進し、作業項目の透明性を提供することです。

このユニットでは、ALM の各手法について説明し、ソフトウェア開発のニーズに基づいてどの手法を採用するかを判断するのに役立ちます。

ALM にはいくつかの手法があります。 それぞれの手法には、対象のプロジェクトおよびソフトウェアのタイプによって長所と短所があります。

よく使われる手法は、ウォーターフォール、アジャイル、スパイラルの 3 つです。

ウォーターフォール手法

ウォーターフォール手法の 5 つのステージ (要件定義、システム設計、実装、統合とテスト、保守) を示す図。

ウォーターフォール手法は、上流から下流へと水が流れるように進めていく手法です。 プロジェクトは、プロジェクトの開始から終了までの順番で異なるフェーズに分けられます。 各フェーズはすべて詳しく文書化され、成果物、レビュー、承認について明確に定められます。 通常、ウォーターフォール手法では、前のフェーズが完了するまで次のフェーズは開始されません。 たとえば、財務と運用アプリを実装する場合、開発者が開発に着手する前にすべての統合の要件を定義する必要があります。

ウォーターフォール手法は、プロジェクトが複雑ではなく、要件が明確に定義されており、全体的な変更を意図するものではなく、すべての実装が一度で完了する場合に検討する必要があります。

アジャイル手法

アジャイル手法の 6 つの段階 (計画、設計、開発、テスト、リリース、フィードバック) を示すサイクル図。

アジャイル手法は反復型の手法であり、継続的なフィードバックによってプロジェクトの成果物を変更および追加していくことを重視しています。 ウォーターフォール手法とは異なり、アジャイルの各フェーズでは互いに反復することができます。 これは、異なるフェーズの作業を同時に進められることを意味します。 たとえば、ある統合の要件が定義されている場合、他の統合の要件が収集フェーズであっても開発者はその統合の作業を開始できます。 通常、アジャイル プロジェクトは定められた期間のスプリント (1 週間または 2 週間とするのが一般的) に分けられます。 各スプリントには、そのスプリントで完成させる一連の成果物があります。

アジャイル手法は、プロジェクトの開始時に要件が不明確な場合、アプリケーションのライフサイクルで追加の要件や成果物が予想される場合、プロジェクトのリリースを 1 回で行う必要がない場合などに役立ちます。 また、アジャイルはユーザー主導型のプロジェクトにも適しており、専属のプロジェクト チームがある場合に特に効果を発揮します。 アジャイル手法では、多数の作業者がプロジェクトのさまざまな要素に対して同時に作業することになるため、プロジェクトのコミュニケーションと調整が難しくなる可能性があります。 そのため、プロジェクト チームを 1 か所にまとめることにメリットがあります。

アジャイル手法は、反復型というその性質のために追跡が複雑になる可能性があります。成果物が当初の計画のスプリントに間に合わない場合や新しいスプリントを後から追加する必要がある場合は、作業の優先順位の見直しが頻繁になります。

スパイラル手法

スパイラル手法は、ウォーターフォール手法とアジャイル手法を部分的に組み合わせたものです。 スパイラル手法は、プロジェクトを小さなセグメント (サイクル) に分けて、リスクを評価することを重視しています。 各サイクルの開始時には、プロトタイプを作成するための要件と目標が定められます。 各サイクルでは、同じステップに沿ってプロトタイプが作成されます。 サイクルの終了時には、プロトタイプのレビューが行われ、次のサイクルが計画されます。

スパイラルの 4 つの段階 (目標の決定、リスクの特定と解決、開発とテスト、次のサイクルの計画) を示す図。

スパイラル手法は、大規模で複雑なシステムに適しています。 問題に対するリスクの範囲を特定するために、適切なリスク評価が必要です。 適切なリスク評価を行わないと、ソフトウェアで問題が発生し、コストが増大する可能性があります。