開発手法といえばウォーターフォールやアジャイルが主流ですが、プロトタイプ開発という手法があります。本記事ではプロトタイプ開発のメリット・デメリットや進め方について解説します。
プロタイプ開発とは
プロトタイプ開発とは、開発期間中早い段階でシステムの試作品(プロトタイプ)を作成し、クライアント(ユーザー)からのフィードバックを受けることで作り込んでいく開発手法です。
プロトタイプ開発の大きな特長は、実際のシステムのイメージを早い段階で確認できることです。完成イメージをクライアントと共有しながら進めることで、開発が進んでからの要件変更に伴うスケジュールの遅延やコストオーバーを防ぐことができます。
プロタイプ開発の進め方
プロトタイプ開発の進め方で特徴的なのは、要件定義後にプロトタイプの開発と評価のフェーズが入ることです。
プロトタイプの開発のフェーズでは、要件をもとに見た目が実際のシステムと同じように見え操作もできる試作品を作成します。
評価のフェーズでは、プロトタイプを開発チームとクライアントとで検証し、完成イメージと齟齬がないかを確認します。場合によっては評価のフェーズでのフィードバックを受けて再度プロトタイプの修正を行います。
プロトタイプの開発と評価を繰り返し、完成イメージが固まったところで本番の設計・開発に着手します。
プロトタイプ開発とその他の開発手法の違い
以下ではプロトタイプ開発と、その他の一般的な開発手法であるウォーターフォール・アジャイルとの違いを解説します。
ウォーターフォールとの違い
ウォーターフォールとプロトタイプ開発の大きな違いは、システムの完成イメージを確認できるタイミングです。プロトタイプ開発が要件定義後にプロトタイプを確認できるのに対し、ウォーターフォールでは開発者は開発完了後のテストまで、クライアントは検収のタイミングまで画面の確認や操作ができません。
プロトタイプ開発と確認のフェーズ完了後は設計→開発→テストとフェーズをしっかり区切り、水が低いところに流れるように後工程へ順番に進んで行く点はウォーターフォールと同様です。また、プロトタイプの確定後はウォーターフォールと同じく基本的に手戻りなしの想定で進めます。
アジャイルとの違い
早い段階でクライアントにシステムのイメージを確認してもらい、フィードバックを受けるという点はアジャイルの一部手法と共通しています。しかし大きな違いは、プロトタイプ開発でユーザーが確認するのはあくまで「試作品」なのに対し、アジャイルでは本番のシステムを用いることです。
また、アジャイルではクライアントからのフィードバックを受けながら開発のフェーズを短期間で繰り返すことになります。この点、プロトタイプが完成した後は基本的に手戻りがなく、各フェーズも明確に区切られているプロトタイプ開発と異なります。
加えてアジャイルはプロトタイプ開発よりもクライアントと密に連携する手法です。開発に着手してからも変更の希望を柔軟に受け入れます。
プロトタイプ開発のメリット
クライアントとの認識違いを避けられる
一番のメリットは、クライアントに早い段階でプロトタイプを確認してもらうことで、実開発の開始前に開発者との認識のズレが解消できることです。開発が進んでから認識の齟齬が判明し、大きな手戻りが発生して追加工数・費用が上乗せされることを避けられます。
要件への理解が深まる
プロトタイプを作る際にもれなく実装することで、要件に対する理解が深まります。また、要件が無理なく実現できるかもプロトタイプの開発の段階で検証することができます。さらに要件に曖昧な点があった場合も、プロトタイプの開発と評価で正式決定することができ、実開発のフェーズに影響を及ぼさずに進められます。
クライアント・ユーザーの満足度が高いシステムを作ることができる
プロトタイプを作りフィードバックを受けることで見た目、ユーザーインターフェース等をよりクライアントが求めていたシステムに近づけることができます。結果、正式リリース後の満足度も高まります。
システムの品質を高めることができる
実開発を想定してプロトタイプを作り操作することで、実装が難しい箇所や、ややイレギュラーなものも含めた考えうる操作のパターンを事前に確認することができます。これらはバグが発生しやすい箇所ともいえますが、早い段階で確認しておくことで重点的にテストを行うなど、対策を取ることが可能になります。結果、不具合の発生を防ぐことができ、システムの品質を高めることができます。
プロトタイプ開発のデメリット
プロトタイプを作るコストがかかる
実際に操作ができるプロトタイプを作成するには大きなコストがかかります。もし手戻りを避けることによって抑制できる工数+リリース後の満足度を高めるために許容できるコスト増と比べてもプロトタイプ開発にかかるコストが大きい場合、プロトタイプ開発があまり有効ではないプロジェクトといえます。
開発者の負担が大きくなる場合がある
本物さながらのプロトタイプを作るという作業は、従来の設計書作成よりも開発者にとって難易度が高く、必要な工数も多いです。加えてクライアントのコメントを受けてプロトタイプ修正を何度も行うことになった場合、作業量が増えてさらに負担が大きくなります。
大規模開発には向かない場合がある
大規模なプロジェクトでステークホルダーが多い場合、全員のスケジュールをおさえてプロトタイプを確認してもらい、期日までにフィードバックをもらうだけでも連絡・調整に大きな労力が必要です。
さらに多人数でコメントをすると、取り込まなければいけない変更も多くなる可能性が高いです、結果プロトタイプの修正が終わらずにスケジュールに影響を及ぼす、多大な工数がかかるなど効率が悪くなり、「手戻りを防いで工数超過を防ぐ」プロトタイプ開発のメリットを活かせなくなるリスクがあります。
プロトタイプ開発が向いているプロジェクト
新規開発のプロジェクト
新規開発のプロジェクトは、完成イメージがまた関係者の頭の中にしかありません。そのため、早い段階でプロトタイプとして一度形にしてイメージを擦り合わせておくメリットが大きいです。
逆に現行のシステムを確認できる追加開発のプロジェクトは、プロトタイプを作成するメリットが小さいといえます。
クライアントがシステム開発に不慣れなプロジェクト
クライアントがシステム開発を発注した経験に乏しい場合、「自分たちがどんなシステムを求めているのか」はっきりイメージできないケースがあります。その場合プロトタイプを作成することで、クライアントが具体的なシステムをイメージし要件を整理する助けになります。
UIが重要なシステム
ECサイトなど操作性が重要なシステムは、プロトタイプを作成してデザイン・操作に関連する要件を詳細に検討することで、よりユーザー満足度が高まることが期待できます。
まとめ
プロトタイプ開発は「システムの完成イメージを確認するのが遅くなる」というウォーターフォールのデメリットを補強する開発手法といえます。向くプロジェクト・向かないプロジェクトはありますが、早い段階での認識合わせが重要となるような開発ではプロトタイプ開発の導入を検討してもよいでしょう。
- カテゴリ:
- キーワード: