プロトタイプ開発とは何かご存知でしょうか。
聞いたことがあるけど、内容は良く分からないという方が多いのではないでしょうか。
本記事ではそんなプロトタイプ開発の何たるやを解説しております。
IT企業として約24年の開発経験とノウハウを活用しながら執筆をしております。
ぜひ一度お読みいただき、参考にしていただければ幸いです。
目次
1.プロトタイプ開発とは
まずはプロトタイプ開発とはなにか解説していきます。
また、類似するような開発手法についても違いとしてまとめております。
それでは1つずつ見ていきましょう。
1-1 試作品を作りながら進める開発手法
プロトタイプ開発とは一言で表すと試作品を作り、開発を進める手法です。
進め方としては、要件定義から一気通貫でリリースまで進める、まさに水が上流から下流にかけて流れるようなウォーターフォール開発と同様に要件定義から一気通貫で開発を進めます。
特徴としては要件定義の明確化を目的とした、要件定義後にプロトタイプ(試作品)の作成を行います。
開発するシステム全体のプロトタイプを作成し、依頼者からレビューをもらい、要件の認識齟齬がないようにします。
特徴的な部分である2.プロトタイプの作成、3.レビュー・改善は図のような流れになります。
文字ベースの要件定義書を基にシステム全体のイメージができるよう試作品を作ります。
簡易版ではあるものの実際の完成形に近い見た目であり、文字ベースから図に変換されるイメージとなります。
作られた試作品を依頼者が確認を行い、要件定義書では汲み取りにくいイメージの部分などを含めてレビューを行い、改善を実施していきます。
この工程が終了後、完成に向けて開発を進めていきます。
このようにプロトタイプの作成は手間がかかってしまいますが、認識のずれを少なくできます。
プロトタイプ開発の最大の特徴とも言えます。
ちなみにですが、「Zoom」や「Figma」はこのプロトタイプ開発を取り入れて開発されました。
類似するケースとして「住居の建築」もプロトタイプ開発の考え方と同じであり、オーダーメイドで建てる場合はこんな感じの流れになりますね。
まずはどんな住居にしたいのか、イメージを確認しながら概要を決定していきます。システム開発では企画・要件定義にあたります。
続いてプロトタイプとして、完成形をミニチュアの模型として作成しレビュー・改善へと進みます。
レビューの中で修正点があった場合は、概要へ反映させていきます。
確認が終わったら、改善された概要を基に設計と建築をスタートさせ、完成を目指します。
下記はプロトタイプ開発と他の開発手法についてをまとめ一覧化しました。
次項で詳しく解説していきます。
開発手法 | プロトタイプの作成 | 進め方 | 重要ポイント | 仕様変更 | リリース |
---|---|---|---|---|---|
プロトタイプ開発 | 〇(要件定義後に基本1回) | 一気通貫 | 品質 | × | 全機能ができたら |
ウォーターフォール開発 | × | 一気通貫 | 計画 | × | 全機能ができたら |
アジャイル開発 | × | 機能ごと | 計画 | 〇 | 機能ができるたび |
スパイラル開発 | 〇(機能ごとに数回) | 機能ごと | 品質 | 〇 | 全機能ができたら |
1-2 ウォーターフォール開発との違い
ウォーターフォール開発とは、システム開発のサイクルである、「企画」→「設計」→「実装」→「テスト」を一気通貫で開発することを指しています。
システム開発は様々な機能の集合体からなっています。その様々な機能をフェーズ単位で組み立てて開発を進めていきます。
事前に仕様要件がガッチリと決まっている開発案件であればウォーターフォール開発は最適でしょう。というのも、ある程度品質を担保することができるためです。
1-3 アジャイル開発との違い
機能単位で小さいサイクルを繰り返し行う開発手法です。
ウォーターフォールのように一気通貫で開発をするのではなく、1つの機能が完了したら次の機能を進めるように小分けにして進めます。
また、機能ごとにリリース作業を行います。
進め方としてはスパイラル開発に似ていますが、プロトタイプの作成の有無や、リリースのタイミングがことなります。
スパイラル開発では機能ごとにプロトタイプの作成を行い、機能がすべて揃ってからリリースしますが、1つの機能がある程度完成したらリリースを行うアジャイル開発の方がスピーディーに開発が進みます。
品質を重視するスパイラル開発と計画を重視するのがアジャイル開発となります。
1-4 スパイラル開発との違い
スパイラル開発は1つの機能ごとに要件定義から開発までを行う開発手法です。
イメージとしては図のように、1つの機能ごとに要件定義を行い、改善まで完了したら次の機能の要件定義を進めます。最終的に全ての機能が出揃ってからリリースを行い完成となります。
また、各機能で「プロトタイプ」(試作品)を作成し、評価(レビュー)と改善を行います。
事前にプロトタイプによる評価を行うことで、完成後の修正など手戻りを防ぐことができ、開発失敗のリスクを最小にします。
2.プロトタイプ開発は2種類に分かれる
プロトタイプ開発は作成したプロトタイプの活用の方法が異なる2種類に分けられます。
それでは1つずつ確認していきましょう。
2-1 ラピッドプロトタイプ
使い捨て型プロトタイプ開発とも呼ばれており、
要件定義後に作成したプロトタイプを実際の開発時には流用せずに、要件定義とレビューの内容を基にイチから開発を進めていきます。
破棄することが前提であるため、低価格・短期間で作成ができます。
大半は見た目を確認することに特化したプロトタイプを作成するため、素早く作成することが可能です。
例えば、細かい機能面までを実際に試せるレベルのプロトタイプも作成は可能ですが、完成版の開発では活用しないことを考えると、費用や時間の無駄になります。
そのため、見た目の確認をするためのプロトタイプを作成するケースが多くなります。
2-2 ブレッドボードプロトタイプ
作成したプロトタイプを完成版の開発時に流用する開発方法です。
ラピッドプロトタイプでは、確認できなかった細かい機能面もレビューすることができ、本番の開発工数を減らすことができるのも魅力です。
3.プロトタイプ開発のメリットとデメリット
プロトタイプ開発のメリットとデメリットについて確認していきましょう。
3-1 プロトタイプ開発のメリット
一番のメリットとしては、完成形の形に対する認識のずれを避けることができます。
前述している通り、プロトタイプ開発ではプロトタイプ(試作品)を作成し、レビューを行います。
完成後に「こうなりました!」ではなく、開発に進める段階で「こうなります!」と認識合わせができるため、失敗のリスク軽減につなげることができます。
また、品質面でもメリットがあり、プロトタイプの作成で実際にどのように使用されるかが事前に知ることができます。
それによってどの機能を重点的に開発とテストをすべきなのかが分かり、想定外の方法で使用されても対応ができるシステムに構築することができます。
3-2 プロトタイプ開発のデメリット
コストや時間が長期にかかる可能性があります。
他の開発手法と異なり、プロトタイプの作成を行いレビューまで行います。
単純に工数が多い点とレビュー後の要望により要件定義に反映させるべき部分も出てくることもあります。
そういった事の積み重ねで、結果的に余計にコストがかかってしまった・開発期間が延びてしまったなどが発生する可能性が高まります。
4.プロトタイプ開発をおすすめするケース
プロトタイプ開発が向いているケースについて2つ解説していきます。
4-1 完成形のイメージが曖昧な案件
完成形のイメージが曖昧な場合はプロトタイプ開発を検討しましょう。
要件定義後に作成したプロトタイプを確認し、イメージを固めることもできます。
頭の中では描けているが、相手に伝えることができない場合などもあるかと思います。
その際は実際に視認して確認できるものがあると手っ取り早いケースも多いかと思います。
プロトタイプを実際に目で見て確認し、イメージとずれているのかなど確認をし、改善案出せるプロトタイプ開発の特徴にマッチしていると思います。
4-2 システム使用者からの印象を良くしたい案件
システムの利用者を想定して開発を行うのは基本だと思いますが、例えばページ遷移や見た目など部分をより使用者のニーズに合ったものにしたい場合はプロトタイプ開発をおすすめします。
「使いやすいシステム」にするために、事前にプロトタイプで確認をすることで改善できると考えます。
もちろんどの開発手法でもシステムの改善は可能だと思いますが、多くは完成後に修正を依頼するケースが多いのではないでしょうか。
その場合、追加費用の発生や開発時間が余計にかかる可能性もあります。
その点、プロトタイプ開発であれば、事前に確認することができるため費用や時間が発生することを心配する必要がありません。
また、開発者からも意見をもらうこともできる場合もあり、より使用者に寄り添ったシステムが開発できるのではないでしょうか。
5.プロトタイプ開発の進め方
開発を進める際の全体的な流れについて解説していきます。
また、開発を行うエンジニアですが、役割ごとに行うことが分かれていることも抑えておきましょう。
5-1 企画
開発を進めていく上で需要なポイントである企画をしましょう。
下記の内容を順に決めていくことをおすすめします。
- ユーザーニーズ
- 内容(仕様)
企画が詰め終わったら、企画内容を基に要件定義へと進んでいきましょう。
5-2 要件定義~運用保守まで
企画後の開発は主に下記の5つに分類されて進められています。
企画の後は要件定義を行います。
機能要件の定義、非機能要件の定義、制約条件の明確化を行い、それらを文書化します。
開発は要件定義で定められた内容を基にPMが管理行い進めていきます。
次にプロトタイプの作成を行い、評価とレビューを実施します。
また必要に応じて要件定義の修正を行います。
続いて基本設計、詳細設計を行います。
要件定義を基に実装の方法やインターフェースなどの設計を行います。
これらを基に実装(プログラミング)へ進んでいきます。
そして実装、テストのフェーズへ進み、設計書を基にプログラミング、テストを行います。
主にPGが担当しますが、状況によってSEが担当することもあります。
最後に運用保守を行い必要に応じて改修を実施するなど、システムの完成を目指します。
5-3 システム開発のエンジニア別役割
フェーズごとに担当する役割の一覧です。
PMとPMOは全体の管理がメインとなるため、全てのフェーズに関与していきます。
SEは要件定義~実装まで関与しますが、状況によってはテストの以降のフェーズにも関与することがあります。
PGは実装~のフェーズを主に担当をします。
合わせて確認しましょう。
役割 | 主な担当業務 |
---|---|
PG(プログラマー) | 実装やテスト工程を主に対応 |
SE(システムエンジニア) | 要件定義、基本設計、詳細設計、実装を主に担当 |
PM(プロジェクトマネージャー) | 開発全体の統括を主に担当 |
PMO(プロジェクトマネジメントオフィス) | コストの調整、ディレクション、PMの補佐を主に担当 |
6.プロトタイプ開発をするには
6-1 外注
システム、アプリ開発のプロに依頼します。
多少の費用は発生するものの、プロの技術で開発を進めてもらえるため、
依頼後は待つだけで、きちんとしたシステムが納品されます。
自社にエンジニアがいない場合などは積極的に外注を活用してみましょう。
下記は外注について解説した記事です。
併せてご参照ください。
6-2 自社開発
自社内で開発を進めます。
自社内にエンジニアがいる場合は自社開発を検討してみても良いと思います。
ただ、開発する難易度やエンジニアが持つスキルでは対応が難しい場合もあります。
自社内で使用するソフトウェアであれば、エンジニアの育成も兼ねて、多少背伸びでも挑戦しみても良いですが、販売目的など完成までの期間が短い場合などは外注を検討してみましょう。
下記は自社開発について解説した記事です。
併せてご参照ください。
7.プロトタイプ開発を依頼するなら株式会社インタラクティブコミュニケーションデザイン
ソフトウェア開発をはじめ、WEB系のシステム開発など、IT企業として24年の経験がある弊社にお任せください。
弊社はクリエイティブ部門をシステム開発部門に統合してワンストップ化、要件定義工程でのUI設計で効果を発揮しています。もともとシステム開発会社であるため、見た目の良さだけでなくシステム要件を踏まえた設計・開発が可能です。
多様なスキル要素(一人複数役、新スキル)、開発の進め方の変化など、マネジメントが複雑化する昨今、変化するニーズに対応可能な技術者調達力&チームマネジメント力に特化したICDだからこそ成し遂げられるオフサイトソリューションの形があります。請負に限らず、準委任契約も承っております。
そして、24年の実績の中でソフトウェア開発を行った実績も実に豊富であり、知見やノウハウを最大限に活かした開発が可能です。
また、オフショア開発も事業展開しており、特徴としては、ベトナム現地に日本人が複数名在籍しており、ブリッジSEとして必ず窓口に立つような体制を整えています。
そのため、日本語でのコミュニケーションはもちろんのこと、日本人ならではの感覚も伝わります。
エンジニアとしての知識と経験も豊富であることから、ただディレクションするだけでなく、厳しく納品物の確認を行い高い品質を維持しています。
このような体制により、東建コーポレーション株式会社様や株式会社カインズ様をはじめとした大手企業様から信頼をいただき、プロダクト開発など実績が豊富にあることも強みです。
会社名 | 株式会社インタラクティブ・コミュニケーション・デザイン |
---|---|
設立 | 2000年11月 |
従業員数 | 200名(国内+ベトナム) |
本社所在地(国内) | 東京都港区赤坂1丁目12番32号 アークヒルズ アーク森ビル 17階 |
事業内容 | ・ソリューション事業 ・サービス事業 |
URL |
プロトタイプ開発のまとめ
プロトタイプ開発について、メリットやデメリットも含めて解説してきました。
お読みいただいた通り、開発手法のそれぞれに特徴があり、開発案件ごとに最適な手法を選択することが理想です。
プロトタイプ開発はプロトタイプ(試作品)を作成し事前にレビューを行い開発を進める手法です。
完成形のイメージがあいまいな場合や事前に確認をしたい方などはプロトタイプ開発検討することをおすすめします。
お読みいただいた皆様の一助になれば幸いです。