ソフトウェアプロトタイピング
プロトタイピングの(間違った使い方を含めた)問題点もある。
進化的ラピッド開発(Evolutionary Rapid Development、ERD) はDARPAの情報技術部門配下にある Software Productivity Consortium が開発した。
ERDの基本概念は、既存のコンポーネントを活用したソフトウェアの組み立てであり、ソフトウェアテンプレートやアーキテクチャ的テンプレートを多用する。ユーザーのニーズや技術の進展に伴うシステム機能の継続的かつ高速な改良が進化的アーキテクチャの特徴であり、ソリューションのクラスを表している。このプロセスでは小規模の職人的チームによるソフトウェア統合を行い、頻繁な顧客とのやりとりを伴った並行する複数の短期開発を特徴とする。
技術・市場・顧客の要求の変化への迅速な対応を可能にする先端技術の導入、機能・インフラストラクチャ・コンポーネントの開発と予備分析を並行して行うことがERDに基づいたプロジェクト成功の鍵である。
顧客やユーザーの入力を引き出すため、関係者と頻繁に会議を重ねる。設計・実装に関する決定をする前にフィードバックを得るためにシステム機能の実演を行う。頻繁にリリースを行うことで(ベータ版)、ユーザーや顧客のニーズをサポートするためのよりよい手法に関する洞察が得られる。これによりシステムはユーザーのニーズに合わせて進化する。
システムの設計フレームワークは既存の一般的な標準に基づく。システムは性能・容量・機能などの発展の可能性を考慮して構成される。
ソフトウェア開発にプロトタイピングを使う利点は多々あり、一部は実利的な利点で一部は抽象的である。
LYMB はオブジェクト指向開発環境であり、GUI、可視化、ラピッドプロトタイピングなどを必要とするアプリケーション開発に適している。
使い捨て型/ラピッド(高速)プロトタイピングでは、作成したモデルは、最終的なソフトウェアの一部となるよりも、捨てられる可能性が高い。初期の要求仕様分析が完了すると、システムの単純な動作モデルが作られ、要求仕様を可視化してみせ、最終的にシステムがどのように見えるかをユーザーに見せる。
ラピッドプロトタイピングでは、比較的短期間の調査期間の後、かなり早い段階でシステムの様々な部分の動作モデルを製作する。その製作手法はあまり形式に拘らず、なによりも製作期間が短いことが重要である。そのモデルをユーザーが評価し、要求をさらに明確化させる。これが出来たらプロトタイプは捨てられ、要求仕様に従って正式な開発が開始される。
使い捨て型プロトタイピングを行う最も明白な理由は、その素早さにある。ユーザーが要求仕様について即座にフィードバックできるなら、ソフトウェア開発の早い段階で改善できる。このような早期の改善はソフトウェア開発においては費用を抑える有力な手法である(早期であれば、何かを再度行うにしても費用がかからないため)。プロジェクトがかなり進行してから変更が発生すると、ソフトウェアの各コンポーネント間の依存関係などによって、小さな変更でも大きな作業を生む。従って使い捨て型プロトタイプの実装は素早さが重要であり、捨てられる運命であるため、時間と費用も最小に抑えなければならない。