注目されているプロトタイプ開発。概要を解説

注目されているプロトタイプ開発。概要を解説

プロトタイプ開発とは、制作物の簡易版である試作機(プロトタイプ)を作成し、開発工数の効率化を目指す開発手法のことです。

ソフトウェア開発では、おおよその要件は定まっているがイメージできていない部分がある、実際のプロダクトの使用感を試してみないと便利なのか分からない、といったシチュエーションが往々にしてあるものです。このような時にプロトタイプ開発は選択肢のひとつとして有効なものとなるでしょう。

今回は、プロトタイプ開発について、その概要、特徴、メリットやデメリット、プロトタイプ開発が適しているプロジェクトについて解説します。

プロトタイプ開発とはどのような開発手法なのか

以下ではまず、プロトタイプ開発の概要について解説していきます。

プロトタイプ開発の特徴

プロトタイプ開発とは、一般的なソフトウェア開発手法のひとつで、開発段階で製作予定のシステムの簡易版を設計・開発・テストすることを繰り返し、そのフィードバックを元に最終的なプロダクトの完成を目指す開発手法のことです。

実際に動作するテストシステムを開発・改善しながら作成するので、最終的な完成イメージが明確になっていない場合にも、おおよそのイメージから初期開発が進められたり、テストシステムからプロダクトの完成イメージがつかみやすかったりする点が特徴です。

なお、フィードバックを受けながら開発を進めるという意味ではアジャイル開発に近いものがありますが、アジャイル型はリリースしてからユーザーの声を聞いて変更していく点が特徴です。リリース前の早い段階で試作品をつくることによって、より早期に問題点を見つけようとするプロトタイプ型の開発手法とは異なります。

プロトタイプ開発の流れ

具体的にプロトタイプ開発の開発工程を見ていきましょう。
開発者や案件によっても異なりますが、プロトタイプモデルの開発工程は主に「要件定義」「設計」「プロトタイプ開発」「評価」「修正」「開発・リリース」の6ステップに分けられます。

要件定義

他の多くのソフトウェア開発手法と同様に、プロトタイプ開発でもまずは要件定義をおこないます。ここでは、開発するシステムの目的から機能を具体化する作業をおこないます。

しかしプロトタイプ開発では、試作機のレビュー後にさらに要件を詰めて具体的な形にしていくことを前提にしているので、厳密な要件定義はおこないません。プロトタイプの開発後に検討したい事項についてはユーザーやマーケットに合わせた仮説を元に簡易的に決めておき、実装フェーズに移ります。

設計

次の段階では、定められた要件を元に、技術的な設計要件を具体化していくことになります。この段階もまずはプロトタイプの設計をすることを目的としているので厳密にはおこなわず、迅速かつ簡潔にシステムを設計することが求められます。

プロトタイプ開発

このフェーズでは、上記で設計したモデルに基づいて、実際のプロトタイプを開発します。ここもまだ試作機の段階なので、細部までは作り込まず、メインの機能や検討を重ねたい部分についてのみ実装することが多いです。

評価

作成したプロトタイプに対して、評価・レビューをするフェーズです。案件やプロダクトによっては、ユーザーやクライアントにもプロトタイプが共有され、フィードバックを受けることとなります。

修正

修正フェーズでは、プロトタイプのレビューで得たフィードバックを元に、プロダクトの改善を目指します。フィードバック内容によって必要な工程まで戻り、修正を施した上で再度評価を受けることになるでしょう。

次の本番開発フェーズに進むまでに一度の修正で済むか、何度も修正する必要があるかという点については、案件やプロダクトによって異なります。

本番開発・リリース

評価フェーズを問題なく通過できたら、プロダクトの本開発に入ります。前行程で合格した最終的なプロトタイプを元に、システムの細部についても実装を進めていくこととなります。

また、ソフトウェアのリリース後は、運用・保守フェーズに入ります。システムを運用していて不具合があった時には修正をしたり、追加開発の要求が挙がった場合には新バージョンをリリースしたりすることとなります。

プロトタイプ開発のメリット・デメリット

上記のようなフローで進行されるプロトタイプ開発ですが、どのようなメリット・デメリットがあるのでしょうか。

プロトタイプ開発により期待されるメリット

認識のズレが回避できる

企画者・発注者と開発者が異なる時、想定しているプロダクトの認識のズレが回避できる点が、プロトタイプ開発のいちばんのメリットです。

試作機として本番に近い機能・デザインのテストプロダクトが早い段階で作られるので、完成品のイメージを共有しやすくなります。

不具合やバグを早期に発見することができる

技術的な問題点を発見しやすくなる点もメリットとして挙げられます。プロトタイプをつくり、実際のユースケースを想定しながら操作していると、技術的な実現難易度が高い機能や、不具合が出る部分、使用感が悪いパーツなどを把握することが容易になります。

本開発に入る時にこれらに対しての対策を取れるので、不具合やバグが起きるおそれを低減できるでしょう。

ニーズを検証しながら開発するため、品質が高いプロダクトをリリースできる

上述のようにプロトタイプ開発では、ユーザー・クライアントからニーズのフィードバックを受けたり、バグや不具合を確認したりしながら作業を進めます。その結果としてプロトタイプ開発では比較的品質が高いプロダクトをリリースできる点も特徴です。

プロトタイプ開発におけるデメリットやリスク

プロトタイプ開発にコストがかかる

プロトタイプといえども、評価を受けられるレベルの機能を開発することに変わりはありません。その分だけ開発工数が大きくかかってくる点は、プロトタイプ開発のデメリットと言えるでしょう。

テスト段階で十分に機能を作り込んでおけば、実際の開発時には負担が少なくなるという考え方もできますが、もしそのテスト機がユーザーやクライアントの意向に沿わないものであった場合はまるまる無駄になってしまいます。

プロジェクト期間が長引くリスクがある

プロトタイプ開発では、プロジェクト期間が長引くおそれがある点もデメリットとなっています。プロジェクトの長期化が起きる例として挙げられるのは、想定していたよりも大きな工数が必要であることが判明するケースです。プロトタイプ開発では要件を完全には固めずに開発に入るので、プロジェクトが進むにつれて必要な機能が多いことが判明し、開発コストが字以前の見込み以上になってしまうことがあります。

また、大規模なシステム開発のようにステークホルダーが多い案件も長期化のおそれがあります。これは、プロジェクトに関わる人が多いことで試作機のチェックや仕様確認に時間がかかることが原因です。

プロトタイプ開発に適した案件とは

コンセプトの妥当性・技術的実現可能性の検証が必要な案件

先述したように、プロトタイプ開発のメリットは、簡易的な試作機を用いて、ニーズや技術的な実現方法を検証しながらプロダクトを開発できることです。

このような特徴から、プロトタイプ開発では仕様が明確に定まっていない場合や新しいサービスを立ち上げる場合のソフトウェア開発に向いていると言われます。

クライアントがシステム開発に慣れていない案件

クライアントがシステム開発の発注に慣れていない場合、依頼者はソフトウェア開発について漠然としたイメージしか持っていないため、要件を固めてもらうことも難しくなりがちです。しかし、プロトタイプ開発では試作品を早い段階でクライアントに共有することになるので、完成品のイメージを持ってもらいやすくなります。

実際にプロトタイプを触りながらコミュニケーションを図ることで、細かい仕様についても具体的に決めることができるようになるので、スムーズにプロジェクトを進行できるようになるでしょう。

適切な手法選択で開発効率を改善しよう

プロトタイプ開発の概要からメリット・デメリットまでを解説してきました。

ウォーターフォール開発アジャイル開発と比べると知名度の劣るプロトタイプ開発という開発手法ですが、案件やプロダクトの性質によっては開発効率を大きく上げてくれる優れた手法となっています。

プロジェクトを円滑に進行するために、本稿を参考にしつつ、機会があればプロトタイプ開発の採用も検討してみてください。

記事監修:早坂貴大(メンバーズエッジカンパニー)

採用情報

メンバーズエッジで最高のチームで最高のプロダクトを作りませんか?

最高のプロダクトをつくる 最高のチームで働く

在宅でも、地方でも、首都圏でも。多様な働き方で最高のチームをつくり、お客様のプロダクトパートナーを目指します。アジャイル開発を通じ、開発現場の第一線で活躍し続けたいエンジニアを募集しています。