Adaptive-software-development-sdlc-models-evolution
提供:Dev Guides
SDLCモデル-進化
ソフトウェア開発ライフサイクル(SDLC)モデルは、ソフトウェア開発プロジェクトの各段階で実行されるアクティビティを記述するフレームワークです。
ソフトウェア開発ライフサイクルでは、アクティビティは5つのフェーズで実行されます-
- 要件収集-開発されるソフトウェアの要件が収集されます。 これらの要件は、顧客/ユーザーが理解できる言語になります。 ドメイン固有の用語をお勧めします。
- 分析-収集された要件は実装の観点から分析され、ソフトウェア仕様は機能要件と非機能要件の両方をカバーするように記述されています。
- 設計-このフェーズでは、開発用に選択されたテクノロジに基づいて、ソフトウェアアーキテクチャと実装仕様に到達します。
- 構築-このフェーズでは、コードの開発、単体テスト、統合、統合テストが行われ、ビルドが生成されます。
- テスト-ビルドされたソフトウェアの機能テストはこのフェーズで行われます。 これには、非機能要件のテストも含まれます。
これらのアクティビティを実行するには、2つのアプローチがあります-
- 規定-フレームワークで定義されている規定の方法でアクティビティを実行する方法を提供するSDLCモデル。
- 適応-従う必要がある特定のルールを使用して、アクティビティの実行に柔軟性を与えるSDLCモデル。 アジャイルメソッドは主にこのアプローチに従い、それぞれにルールがあります。 ただし、アダプティブまたはアジャイルアプローチに従うことは、ソフトウェアが規律に従わずに開発されることを意味するものではありません。 これは混乱を招きます。
特定のSDLCモデルが良いか悪いとは言えないことを理解する必要があります。 それぞれに長所と短所があり、特定の状況に適しています。
あなたのプロジェクトにSDLCモデルを選択するとき、あなたは理解する必要があります-
- 組織のコンテキスト
- 技術コンテキスト
- あなたのチーム構成
- お客様のコンテキスト
たとえば、ソフトウェア開発が予測可能な場合は、規範的なアプローチを使用できます。 一方、ソフトウェア開発が予測不可能な場合、つまり 要件が完全に知られていない、または開発チームが現在のドメインやテクノロジーなどに事前にさらされていない その場合、アダプティブアプローチが最適です。
次のセクションでは、業界全体のソフトウェア開発プロジェクトの実行中に進化する最も一般的なSDLCモデルを理解します。 また、それぞれの長所と短所、およびそれらが適しているコンテキストを知ることもできます。