お問い合わせ
translate iconJA

新しいサービスや新機能の開発場面においては、「要件はある程度決まっているものの具体的な完成イメージを持てない」「実際に製品サービスを使ってみなければわからない」というケースがしばしば発生します。このような課題を持つ開発に適した手法が、プロトタイプ開発です。

例えば、スマートフォンがこの世に登場する前、「さまざまなアプリケーションと直感的な操作で生活を変えるディスプレイのみの携帯電話」と聞いても、どのようなものかを想像するのは難しかったでしょう。この状態では、開発者は何を作ればいいのかわからず、ユーザーはどのように評価すればいいのかわかりません。

また、Webサイトやアプリケーションでは、機能は十分でも使い勝手が悪ければユーザーには受け入れてもらえません。使い勝手が良いかどうかは、実際に使ってみなければ判断が難しいところです。完成イメージの具体化や使い勝手の評価を実施したい場合、試作品であるプロトタイプの作成が適しています。この記事では、プロトタイプ開発とはどのような手法なのか、進め方やメリット・デメリットを踏まえて解説します。

プロトタイプ開発とは?

プロトタイプとは、試作品のことを指します。プロトタイプ開発は、完成品の開発前にプロトタイプを作成し、クライアントやユーザーからのフィードバックを得ることで仕様を固めていく手法です。プロトタイプ開発の目的は、仕様変更に伴うコストを抑えることです。プロトタイプを作ることで早い段階で必要な仕様変更に対応でき、はじめから完成品の開発を進めるウォーターフォール開発と比較して手戻りを抑えられます。

参考:モックアップやMVP開発との違い プロトタイプと類似の概念として、「モックアップ」という言葉があります。モックアップとは、開発するソフトウェアやアプリの完成イメージの図であり、実際に操作することはできません。そのため、プロトタイプは、モックアップに機能が付随して試用できる状態にしたもの、と言えます。 また、MVP (Minimum Viable Product) 開発は、最小限の機能を搭載したシステムを早期にリリースし、ユーザーの反応を検証する開発手法です。プロトタイプはあくまでも試用に使うものであり、リリースはしない点がMVP開発と異なります。

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

プロトタイプ開発のメリットを一言で言うと、プロトタイプの評価でフィードバックを得ることで本開発の品質を高められることです。一方デメリットとして、プロトタイプ自体の開発にコストを要することが挙げられます。メリットとデメリットをそれぞれ詳しく説明します。

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

・完成品のイメージを共有しやすい
新商品や新機能の場合、ステークホルダーそれぞれが想像している完成イメージが一致しているか確認するのは難しいことです。プロトタイプを作ることで、完成イメージを共有しやすくなります。

・機能要件を明確にできる
評価者であるユーザーやクライアントは、過去に使ったことのない新しい機能や製品サービスであっても、プロトタイプを使うことで具体的にフィードバックできます。フィードバックを得られることで、計画時に機能要件が不明確な場合でも、本開発に向けて機能要件を明確化しやすくなります。

・使い勝手を検証できる
プロトタイプは実際に操作できるため、使い勝手の面でも評価できます。たとえ機能が要件を満たしていても、使い勝手が悪ければユーザーやクライアントの満足度は低くなってしまいます。使い勝手を向上することで、ユーザーやクライアントの満足度を高められます。

・技術的な課題を検証できる
新しい技術を搭載する際など、プロトタイプに搭載してテストすることで具体的に技術面での課題を検証できます。その結果、本開発での搭載リスクを軽減できます。

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

・プロトタイプ作成に時間と費用がかかる
プロトタイプはメインの機能に絞って開発するものの、一定の開発工数が掛かります。あくまでも検証を目的としているため、検証が実施できる状態であり、検証には不要な部分まで作り込まない工夫が求められます。特にプロトタイプを本開発に流用しようとすると、整合性をとったり拡張性を持つ必要が出てきたりと、コストが膨らみすぎる傾向があるため注意が必要です。

・予定よりも開発コストが膨らむリスクがある
プロトタイプの開発時には、仮説をベースに開発を進めます。仮説の精度が低いと開発の方向転換や大幅な修正が発生し、何度もプロトタイプを作成するといったこともあります。

プロトタイプ開発の進め方

プロトタイプ開発では明確に定義された工程があるわけではありません。案件や開発者によって異なりますが、開発の流れは主に次の6工程になります。

  1. 要件定義
  2. 設計
  3. プロトタイプ開発
  4. 評価
  5. 修正
  6. 本番開発
  7. リリース それぞれの工程について説明します。

1. 要件定義、 2. 設計

通常の要件定義では、開発するシステムの目的から機能を具体化していきます。しかし、プロトタイプ開発では完成イメージが明確ではないため、ユーザーのニーズを元に必要な機能の仮説を立てて開発を進めます。仮説を用いているため、要件定義や設計は、精度の高さや緻密さよりも、簡潔でスピーディーに進めることが重要です。

3. プロトタイプ開発

設計書に基づき、プロトタイプを開発します。あくまでクライアントやユーザーからのフィードバックを目的とした試作品であるため、細部にはこだわらずに開発を進めます。メインとなる機能を中心に、実際のシステムと同様の見た目を有し、操作イメージが湧くようなプロトタイプを開発します。

4. 評価、 5. 修正

クライアントまたはユーザーに、作成したプロトタイプを評価してもらいます。評価のフィードバックを元に、変更や修正を実施します。必要に応じて評価および修正を繰り返すことで、品質を高めていきます。

6. 本開発、 7. リリース

評価結果に問題がなくなった段階で、本格的な開発に移行します。プロトタイプをメイン機能に絞って開発している場合は、システムの細部についても開発を進めます。リリース後には、システムの運用および保守を実施します。

プロトタイピングツールとは

プロトタイピングツールとは、Webサイトやアプリケーションのプロトタイプの開発および仕様の検証を目的としたUI(ユーザーインターフェース)デザインの支援ツールです。設計したUIに簡易的な動作を設定できるため、実際に使ったときのイメージを確認できます。プロトタイピングツールは、検証に必要なレベルで動作する画面をスピーディーに作れるという点で優れています。

例えば、プロトタイピングツールで作ったログイン画面では、ユーザー名とパスワードをテキスト入力してログインボタンを押し、次の画面を表示する、ということができます。一見、完成品のように動いているように見えますがデータベースは存在しないので、パスワードのエラーチェックなどはありません。とはいえ、コーディングの工数を省いた状態でUIデザインの評価を実施できるため、開発工数の削減につながります。

プロトタイピングツールでUIデザインを固めた後は、コーディングして実装を進めます。実装時の工数削減には、ノーコードツールの活用がおすすめです。ノーコードツールの中には、プロトタイピングツールと連携して設計したUIから自動でコードを生成できるツールもあります。プロトタイピングツールとノーコードツールをうまく組み合わせることで、開発工数の削減につながります。

参考リンク ノーコード開発に適したプロジェクトと進め方

他の開発手法との違い

プロトタイプ開発について説明してきましたが、他の開発手法との具体的な違いはどこにあるのでしょうか。ここでは、主流の開発手法である、ウォーターフォール開発とアジャイル開発との違いについて説明します。

ウォーターフォール開発との違い

ウォーターフォール開発は、開発工程を上流から順に一つずつ進めていく手法です。緻密な計画と文書作成により、高品質なソフトウェア開発をめざします。

ウォーターフォール開発とプロトタイプ開発は、高品質なソフトウェア開発をめざしている点で共通しています。しかし、ウォーターフォール開発は最初に要件定義を固めるため、要件が不明確な新しい製品サービスの開発には向きません。仮説をベースに要件定義をしてしまうと、手戻りのリスクが高くなるためです。ウォーターフォール開発での手戻りは大きな損失を招きます。

そのため、手戻りのリスクが高い際には、プロトタイプを使った事前の仮説検証が適しています。プロトタイプで十分に仮説検証できれば、プロジェクト開始時に要件が不明確な場合でも要件を明確化でき、最終的に高品質なソフトウェア開発が可能になります。つまり、プロトタイプ開発は、ウォーターフォール開発での手戻りのリスクを回避するための開発手法といえます。

アジャイル開発との違い

アジャイル開発は、ユーザーの満足度を最優先し、価値のあるソフトウェアを素早く提供することを重視した開発手法です。イテレーションと言われる機能単位の小さなサイクルで開発を繰り返し、開発が完了した機能から順にリリースしていきます。

アジャイル開発とプロトタイプ開発では、リリースのタイミングとフィードバックを得るユーザーの範囲が異なります。

アジャイル開発では、いち早く市場に正式なサービスとしてリリースし、広くユーザーからのフィードバックを得ます。そしてその後も改善とリリースを繰り返します。

一方、プロトタイプ開発で作るプロトタイプは、あくまでも試用という扱いであり特定のユーザーからフィードバックを得ます。プロトタイプの段階でリリースすることはなく、改善後である本開発のサービスでリリースするのが基本です。

アジャイル開発とプロトタイプ開発は思想が相反するものではないため、アジャイル開発の初期にプロトタイプの作成が取り入れられることもあります。しかし、歴史的にプロトタイプ開発はウォーターフォール開発の手戻り回避のために取り入れられてきた背景があるため、一般的に開発手法の文脈でプロトタイプ開発という場合には、プロトタイプ作成後の本開発がウォーターフォール型であることが多いです。

参考:β(ベータ)版とは プロトタイプの中には「β版」と称して、本開発サービスと同じ市場にリリースすることもあります。正式版のリリースとは異なり品質の保証はしませんが、正式版と同じ市場にリリースすることで広くユーザーからのフィードバックを得たり、ユーザーのニーズを喚起したりする効果があります。

どのようなものを開発すればよいのか明確ではないとき、プロトタイプ開発はとても有効な手段です。また、ユーザーの使い勝手が満足度に直結するソフトウェア開発においては、どの開発手法でもUIデザイン時にプロトタイプを作るのが当たり前になっています。 プロトタイプの作成コストには注意する必要がありますが、プロトタイピングツールを使うことで低コストで検証できる内容も多くあります。早い段階で完成イメージの検証や共有が必要な開発では、プロトタイプ開発の導入を検討してみてはいかがでしょうか。