インクリメンタルアプローチは、ステップのセット番号を使用し、開発が進行の直線経路に最初から最後まで行きます。
インクリメンタル開発は、設計、実装、テスト/検証、メンテナンスから段階的に行われます。これらはさらにサブステップに分割できますが、ほとんどのインクリメンタルモデルは同じパターンに従います。滝のモデルは、従来の増分開発アプローチです。
反復アプローチは、ステップのないセット数を持っていない、むしろ開発が周期的に行われています。
反復的な開発では、個々の機能の進捗を追跡することにあまり関心がありません。代わりに、作業プロトタイプを最初に作成し、開発サイクルで機能を追加することに重点が置かれます。開発サイクルでは、すべてのサイクルで増分開発ステップが実行されます。アジャイルモデリングは、典型的な反復アプローチです。
増分モデルは元々、工場で使用されている従来の組立ラインモデルに従うために開発されました。残念ながら、ソフトウェアの設計と開発は、物理的な商品の製造とほとんど共通点がありません。コードは開発の完成品ではなく設計図です。多くの場合、開発プロセス中に適切な設計の選択が「発見」されます。適切なコンテキストなしに開発者を一連の仮定に縛り付けると、最良の場合は設計が貧弱になり、最悪の場合は開発が完全に混乱する可能性があります。
反復アプローチは、ソフトウェア開発の進行の自然な経路によりよく適合するため、現在では一般的なプラクティスになりつつあります。仮定に基づいて「完璧な設計」を追いかけるために多くの時間/労力を費やす代わりに、反復アプローチは、ユーザーのニーズに合わせて開始および進化するのに「十分な」何かを作成することです。
tl; dr-インクリメンタルモデルでエッセイを書いている場合、一度に1つの文を最初から最後まで完全に書き込もうとします。反復モデルで作成した場合は、簡単なラフドラフトを作成し、一連の改訂フェーズを通じて改善するように努力します。
更新:
より実用的な例に合わせて、「インクリメンタルアプローチ」の定義を変更しました。
あなたがこれまで契約に対処しなければならなかった場合、増分アプローチは、ほとんどの契約がどのように実行されるかです(特に軍隊の場合)。典型的な「ウォーターフォールモデル」の多くの微妙なバリエーションにもかかわらず、それらのほとんど/すべてが実際に同じ方法で適用されます。
手順は次のとおりです。
- 契約締結
- 予備設計レビュー
- 重要な設計レビュー
- 仕様凍結
- 開発
- フィールディング/統合
- 検証
- 信頼性試験
PDRとCDRは、仕様が作成および改訂される場所です。仕様が完成したら、スコープのクリープを防ぐために仕様を凍結する必要があります。ソフトウェアが既存のシステムを拡張するために使用される場合、統合が発生します。検証は、アプリケーションが仕様に一致することを確認するためのものです。信頼性は、アプリケーションが長期にわたって信頼できることを証明するテストです。これは、システムが一定の割合の稼働時間(3か月間99%の稼働時間)を維持する必要があるSLA(サービスレベル契約)のように指定できます。 )。
このモデルは、紙で簡単に指定できるが、作成が難しいシステムに最適です。ソフトウェアは、かなりの詳細度(UMLなど)を紙で指定するのは非常に困難です。管理/契約を担当するほとんどの「ビジネスタイプ」は、ソフトウェア開発に関してはコード自体が仕様であることを認識していません。紙の仕様は、多くの場合、コード自体と同じかそれ以上の時間/労力を費やし、通常、実際には不完全/劣っていることを証明しています。
インクリメンタルアプローチは、コード自体を仕様として扱うことにより、無駄な時間/リソースを試みます。複数の改訂手順を経て紙の仕様を実行する代わりに、コード自体は複数の改訂サイクルを経ます。