アプリ開発におけるプロトタイプとは?メリットやデメリット、進め方を解説
プロトタイプは「試作品」。アプリ開発の企画・設計段階では、画面や機能を検討して完成度を高めるために有効です。しかし、検討が長期化して費用がかかるデメリットもあります。プロトタイプ活用の基礎知識とともに、スパイラル開発についても解説します。
アプリ開発のプロトタイプとは
家電製品や自動車など、さまざまなプロダクトの企画・設計段階では、いわゆる試作としてのプロトタイプを作ってチェックした後に製品化を進めます。試作をブラッシュアップすることにより、デザインを洗練させていきます。アプリ開発も同様です。プロトタイプを制作して複数の視点からチェックします。まず、そもそもプロトタイプとは何か、試作を行う目的について解説します。
そもそもプロトタイプとは
プロトタイプ(prototype)という英語に注目すると、前半の「proto」が「最初の」、後半の「type」が「型」を表します。語源としては、ギリシア語のprotosとtyposを組み合わせた言葉です。「プロト」や「PT1」「PT2」のように略されることもあります。
対義語はマスプロダクションタイプ(量産品)。この対義語から分かるように、プロトタイプの制作では、量産化する前に問題点や改善点を洗い出して完成形に近づける試行錯誤を行います。
ちなみにプログラミングでは、C言語に「プロトタイプ宣言」という構文があります。これは、関数の処理内容を記述せずに呼び出す前に宣言し、その後に処理を記述します。「最初の」という意味で使われています。
プロトタイプを開発する目的
アプリ開発でプロトタイプを制作する目的には、以下の3つがあります。
・完成形イメージの共有
・開発リスクの回避とコストの軽減
・アプリの品質向上
はじめてアプリを開発する場合、漠然としたイメージをもとに開発を進めると「こんなアプリを求めていたわけじゃない」と後工程で問題が生じます。このような不安を払拭するために、完成イメージを共有しておくことが大切です。さらに完成イメージの共有は、間違った方向に開発が進むリスクの回避とコストの軽減に役立ちます。
多くの開発プロジェクトは、工数で費用が決定します。後から「この機能が必要」「画面遷移が足りない」と後付けで追加をしていくと、結果として費用が膨らみます。開発に入る前にプロトタイプ段階で検討することにより、コストを最適化できます。
また、ユーザー視点からプロトタイプを検討することは、ユーザビリティの向上に効果があります。試作段階は作り直しが可能であり、デザインなどの改善が可能です。
デザイン思考とプロトタイピング
ユーザーの視点を重視するプロトタイプの実践方法は「デザイン思考」としてもよく知られています。製品のデザインはもちろん、古くからAppleやGoogleなどの企業において経営や事業を展開するフレームワークとして使われてきました。米国のデザインコンサルティング会社であるIDEOが提唱して世界中に拡がりました。
デザイン思考では、アイデアを創出し、具体的な形にした上で検討を行い、ブラッシュアップを重ねて完成度を高めていきます。デザイン志向のプロセスとしては、5つの段階が知られています。スタンフォード大学ハッソ・プラットナー・デザイン研究所が提唱したプロセスであり、「共感する(Empathize)」 、「定義する(Define) 」、「アイデア展開する(Ideate)」、「プロトタイプを創る(Prototype)」、「検証する(Test)」の5つを挙げています。
プロトタイプ制作のメリットとデメリット
アプリの完成度を上げてリスクを回避する上でプロトタイプにはメリットがありますが、その一方でデメリットもあります。アジャイル開発をはじめ、あらゆる開発手法は問題を完全に解決できるわけではありません。利点だけでなく欠点を知っておくことが必要です。
プロトタイプ制作、3つのメリット
まず、メリットをみていきましょう。プロトタイプ制作には次の3つのメリットがあります。
・発注側やユーザーのニーズを反映できる
・要件定義でもれていた機能を確認して手戻りを減らせる
・実装が難しい機能を減らせる
開発会社にアプリを発注する場合イメージやニーズを言葉で伝えますが、言葉によって完全にイメージを伝えることは不可能です。特にはじめてアプリを開発する場合には、どうしても既存のアプリを例に挙げて伝える場合が多いのではないでしょうか。しかし、まったく同じもアプリを作っても、リリースする意義がありません。
開発に入る前に要件定義を行いますが、開発の途中に気がついて機能や画面を追加する場合があります。こうした手戻りは簡単に対応できるものだけでなく、工程に致命的なダメージを与える修正があることを理解しておくべきです。プロトタイプの検討によって、認識の齟齬や開発中に重要な見落としが発生することを防ぎます。
プロトタイプ制作、3つのデメリット
一方で、プロトタイプを作ることに関しては、以下のような3つのデメリットがあります。
・手間やコストがかかる
・試作を検討した結果、逆に仕様が膨らむ
・開発着手までの期間が長期化
開発前の企画・設計段階にプロトタイプ制作の工程が加わるため、手間やコストがかかります。プロトタイプの制作に慣れていないスタッフは対応できないことがあり、プランナーやデザイナーのほかにプロトタイプ制作ができる人員を配置しなければならないケースもあります。
また、試作を検討した結果、追加の仕様が膨大になる場合にも注意が必要です。大量な仕様の追加に合わせて何度も検討を繰り返さなければならないため、試作段階が長期化します。完璧なプロトタイプを求めるあまり、いつまでも開発に着手できない状態に陥ります。
プロトタイプはあくまでも試作であり、100パーセントの試作品完成をめざすのは無意味であることを認識すべきでしょう。
プロトタイピングに関連する5つの方法
プロトタイプの制作は「プロトタイピング」と呼ばれています。プロトタイピングを「機能のもれや実用性を確認する手法」と考えると、さまざまな方法があります。
極端なことをいえば本格的な制作ツールを用いなくても、ペンと紙があればスケッチでイメージを共有してチェックできます。段階的に最適な手法を組み合わせることも可能です。プロトタイピングに関連する5つの方法を挙げます。
スケッチ
もっともシンプルなプロトタイピングの方法はスケッチです。手書きで画面構成や遷移のラフを描きます。ミーティングルームのホワイトボードに書きながら、ブレインストーミングで完成形を共有してもよいでしょう。
UXデザインの領域では、紙とペンを使ったプロトタイピングは「ペーパープロトタイプ」と呼ばれています。初期段階のデザイン思考プロセスにおいて有効な方法であり、情報カードや付箋も活用できます。
ワイヤーフレーム
画面の構成要素、画面遷移を線で表したものがワイヤーフレームです。レイアウトだけを指定して、デザインを作り込まない状態になります。この段階では「情報設計」が求められます。基本的なユーザビリティのチェックが目的です。このワイヤーフレームにデザインや操作の動きなどを加えて、プロトタイプを完成させていきます。
モックアップ、デザインカンプ
ワイヤーフレームが線で示された状態に対して、モックやデザインカンプは色や画像などを追加して、主にデザイン面の検討に使います。モックアップ(mockup)は模型を意味します。カンプはComprehensive layoutの略です。仕上がりのレイアウトの見本を示したものであり、一般的に操作に関連したアニメーションなどの動きがない状態です。
デモ
デモはdemonstrationの略であり、機能などの動きを見せるプロトタイプです。データベースと連動するアプリでは、データベース部分は省略して画面遷移だけを見せる場合もありますが、基本的に一連の操作を試せるプロトタイプをいいます。既に本稼働しているアプリの機能を制限して、関心を持った見込み客やユーザーに使ってもらうためのデモもあります。
ダミー
プロトタイプとはやや離れますが、顧客データを扱うようなアプリ開発では、ダミーデータを用いることによりデータベースの構造などの不足を検証できます。テストデータを生成するジェネレータもあります。データベースの設計は開発において重要度が高いため、開発前に十分な検討が必要です。
プロトタイプ開発の流れ
プロトタイピングのプロセスを組み込んだ開発が「プロトタイプ開発」です。プロトタイプ開発は、最終的な開発からリリースを含めて5段階の流れがあります。
要件定義
あらゆる開発と同様に、プロトタイプ開発においても要件定義を行います。ただし、プロトタイピングの要件定義の特徴は、決まっていない部分があっても構わないことです。未定の部分は、プロトタイピングの段階で仕様を詰めていきます。
設計・デザイン
要件定義が終わったら、設計・デザインの段階に入ります。要件定義と同様にデザインに関しても完全に作り込みをしません。スケッチ、ワイヤーフレーム、モックアップ、カンプなどの手法によってラフなイメージを描きます。UIを検討する際には「A/Bテスト」といって異なるデザインをユーザーに使ってもらってテストする方法もあります。
プロトタイピング
要件定義やデザイン・設計にしたがってプロトタイピングを行います。場合によっては複数のプロトタイプを作って比較します。アプリのプロトタイプでは、ジェスチャーによる動作やアニメーションなどの動きまでチェック可能な段階にすることが理想です。
フィードバック(評価と修正)
プロトタイプに関する意見や感想、改善点や問題を評価および検討し、プロトタイプを修正します。プロジェクトのスタッフ全体はもちろん、ユーザーに評価を求めることもあります。このプロトタイピングとフィードバックのプロセスを繰り返すことにより、完成度を上げてブラッシュアップを行います。
開発・リリース
プロトタイプの完成度が高まったところで開発に入ります。プロトタイプの目的は完成品を作ることではありません。全体の工程を考慮した上で、重要な問題がなければ開発の工程に進むようにします。
プロトタイプ開発とスパイラル開発の違い
開発の手法として、プロトタイプ開発と似ている手法としてスパイラル開発があります。システム開発の方法には、ウォーターフォール型、アジャイル型などが代表的ですが、スパイラル開発は、ウォーターフォール型のデメリットを改善するために考案されました。
スパイラル開発とは
スパイラル開発は、機能ごとに要件定義や設計を行ってプロトタイプを使って開発、評価と改善を繰り返して全体を完成させていきます。アジャイル開発が、開発期間を重視して期間内に完成をめざすスケジュール重視であることに対して、スパイラル開発は品質を重視します。
プロトタイプ開発とスパイラル開発の違い
プロトタイプ開発では、試作の完成度が高まってから全体の開発に着手しますが、スパイラル開発では、機能に分けてプロトタイプを作って改善を繰り返します。大きな違いは、スパイラル開発は全体のプロトタイプを最初に作るわけではないということです。つまりフロートしては以下のようになります。
・プロトタイプ開発:全体の試作の作成・評価・改善→全体の開発・完成
・スパイラル開発:機能別の試作の作成・評価・改善→機能の完成→全体の完成
スパイラル開発では機能ごとの品質を高めることができる一方で、特定の機能の開発で膠着状態になるリスクがあります。また、プロトタイプとはいえ動作が前提であり、すべての機能の開発を終えてからリリースしなければならないため、結果としてコストが増加する傾向にあります。
プロトタイプ向きの開発、向いていない開発
プロトタイプ開発にはメリットがありますが、大規模のアプリ開発には向いていません。というのは、膨大な機能をプロトタイプで完成させるまでに時間がかかり、場合によっては工程の大幅な遅れが生じるからです。小規模のアプリ開発や、要件やデザインが明確に定まっていて共通認識がある場合は、試作をする必要があるかどうか検討すべきです。案件によっては、ウォーターフォール型の開発で進めたほうが効率的な場合があります。
まとめ
プロトタイプ開発は、アプリ開発におけるひとつの方法です。コンセプトや仕様に検討の余地があり、納期に余裕があるときに有効です。また、アプリを始めて制作するようなときには、試作段階の検討に時間をかけるとよいでしょう。しかし、要件が固まっていて共通認識があるようなアプリ開発では、ワイヤーフレームやデザインカンプなどの過程で簡単に試作状態をチェックするだけでスムーズに開発を進行できます。このようなケースでは、ウォーターフォール型の開発が向いています。