PoC(Proof of Concept)開発とは?
「PoC(Proof of Concept)開発とは、新規プロジェクトの技術やアイデアが実現可能かを確認するプロセスで、日本語では「概念実証」や「概念検証」と訳されます。プロジェクト進行中に技術的な問題が発生するのを防ぐために行います。
PoC開発は、プロトタイプを開発する前に行う場合と、プロトタイプを作成したうえで行う場合とがあります。例えば「サービスAとサービスBを組み合わせて、Cという機能を作ることは可能か」といった内容のPoC開発であれば、既存サービスA・Bを使って検証することが可能です。しかし、新規でソフトウェアやアプリを開発する場合であれば、最低限の機能を持ったプロトタイプを開発してPoC開発をする場合があります。
PoC開発とアジャイル開発の違いとは?
PoC開発 | アジャイル開発 | |
目的 | 新アイデア・技術の実現性を確認する | イテレーションを複数回まわして製品開発をする |
段階 | プロジェクト初期段階 | 製品開発の段階 |
成果物 | プロジェクトに関する実現性などのデータ | 製品 |
PoC開発とアジャイル開発の違いは、目的や成果物です。アジャイル開発とは実際の製品を開発する際に用いる開発手法のひとつです。特徴的なのは「設計・開発・テスト・改善」という一連の流れ(イテレーション)を、何回もまわす点にあります。要件定義を固めすぎず、開発をしながら都度テストと改善を繰り返すことで、柔軟に開発を進めていけるのがアジャイル開発の特徴です。
一方、PoC開発は試作品を開発するよりも前に行うプロセスです。新しいアイデア・技術は本当に実現できるのか、企業にとって目標通りの利益が上がるのかなどを検証するために行います。PoC開発では、試作品や製品などは完成しません。あくまで、これからやろうとしていることが本当に実現できるかを確認するプロセスなのです。例えば「PoC開発→MVP開発→アジャイル開発」という流れで製品開発を行うケースも多くあります。
PoC開発を実施するメリット
PoC開発を実施するメリットとしては、以下の3つがあげられます。
PoC開発を実施するメリット
- 技術的な実現可能性の検証
- 費用や工数を削減
- 経営判断を迅速化し、市場投入までの時間を短縮
PoC開発を実施するメリットは、プロジェクトの成功確率を高められること、そして業務効率を改善できることです。以下では、具体的なメリット3つについて詳しく解説します。
技術的な実現可能性の検証
PoC開発の大きなメリットは、技術的な実現可能性の検証ができることです。サービス間の連携や新機能の実装について、現有の技術で対応可能かが明確になります。これにより、開発段階での問題を避け、プロダクトの開発と導入をより確実に進めることができます。
企画段階では実現可能なように思えても、思わぬ部分で技術的な問題が発生してしまうケースも少なくありません。製品の開発段階において大きなトラブルが発生してしまうと、想定以上の費用がかかったり、納期が遅延したりする原因になります。技術的な実現可能性を明らかにしたうえでプロトタイプおよび製品の開発に進めるのは、PoC開発を行う大きなメリットといえます。
費用や工数を削減
PoC開発を行うと、プロジェクトの無駄を見つけ出し、費用と工数を削減できます。PoCの内容によりますが、「この工数・スケジュールでプロダクト開発が可能か」を検証することもあります。この検証結果から無駄な部分を見つけ、工数を削減し、結果的に費用を抑えることができます。
また、PoCではどのツールを使うかを検討することもあります。APIやPaaSなどのツールを検討することで、低コストで利用できるツールを見つけ、費用を削減することが可能です。これらの効率化やコスト削減は、PoC開発のメリットと言えます。
経営判断を迅速化し、市場投入までの時間を短縮
プロジェクトが成功する根拠を明確にし、経営判断を迅速にするのもPoC開発のメリットです。「プロジェクトが本当に成功するのか」「予定通りに進むのか」を明らかにすることは、経営判断に必要です。PoC開発を行うと、プロジェクトの失敗リスクを抑え、決裁者からの理解を得やすくなり、経営判断を迅速にすることが可能です。
また、支援を求める際にも、プロジェクトの成功確率について根拠を示すことができます。これにより、協力を得やすくなります。結果として、経営判断や支援の獲得を迅速に行い、開発をスムーズに進め、市場投入までの時間を短縮できます。
参考:PoCとは?メリット・デメリット、失敗しない進め方、評価方法から予算まで詳しく解説
PoC開発を実施する流れ
PoC開発は、以下のような流れで進めます。
PoC開発を実施する流れ
- PoCの目的やゴールの設定
- PoCの範囲やスケジュールの設定
- PoCの実施
- PoC結果の分析と報告
上記は一般的な流れですが、細かな流れについては検証内容や開発会社などによって異なるので注意が必要です。以下では、PoC開発を実施する一般的な流れについて、4つのステップにわけて解説します。
PoCの目的やゴールの設定
まず、PoCの目的とゴールを設定しましょう。目的は「何のためにPoCを行うか」を明確にすることです。一般的には、技術やアイデアの実現可能性を確認するためにPoCを行います。例えば、「サービスAとBの連携が可能かを検証する」や「この機能が現在の技術で実現可能かを確認する」などが目的になります。
目的とゴールを設定する際には、検証の指標も決めます。「移行工数」「費用」「機能」「開発スケジュール」など、想定していることを指標として設定し、それが達成可能かを検証します。ただし、PoCは主に技術的な実現可能性(できるか、できないか)を判断するため、定量的なゴールを設定しないこともあります。PoCの内容に応じて、目的やゴールは柔軟に設定しましょう。
PoCの範囲やスケジュールの設定
ゴール設定ができたら、PoCの範囲やスケジュールを設定していきます。範囲とは「プロダクトのどの部分を検証するのか」ということです。範囲に関してはあまり広げすぎず、なるべく狭い範囲で設定するようにしてください。範囲が広すぎると、検証内容が多すぎたり目的がブレたりして、PoCが失敗する原因になります。
スケジュールに関しても、あまり長すぎないよう設定するのが基本です。なぜなら、PoCは実際の製品を開発する訳ではなく、利益も発生しないからです。もちろん、とても大きなリターンが見込めるプロジェクトであれば年単位でPoCをしても問題ないかもしれません。しかし、基本的には適性な範囲内でPoCを行ったうえで課題点の洗い出しと改善を行い、自信を持ってプロジェクトをスタートさせられるようにするのが一般的といえます。
参考:PoCプロジェクトのスケジュールの立て方について解説します
PoCの実施
ゴール・範囲・スケジュールの設定ができたら、PoCを実施しましょう。PoCは、既存のサービスやアプリなどを活用して行う場合と、プロトタイプを作成して行う場合とがあります。いずれにしても、最低限の機能をもたせたものを用意して、本番に近い環境下で行うのが重要です。
なおPoCの実施については、技術・アイデアの実現性について検証を行うのか、PoV(価値実証)やPoB(ビジネス実証)などを含めた検証をするのかによって方法が異なります。PoVやPoBを含めた実証を行う場合であれば、本番に近い状態でユーザーに利用してもらって結果を確かめる場合もあります。
PoC結果の分析と報告
PoCを行ったら、結果の集計および分析をします。PoCの結果、技術やアイデアの実現に問題がなければ、プロトタイプや製品の開発に着手しましょう。実現に問題がある場合は、アイデアを練り直したりSaaS/Paas/API検討などをして別ツールを活用し実現する方法はないかを考えます。
PoCをしてプロジェクトが中止になるケースもあります。実現が困難なのであれば、勇気をもって中止の判断を下すのも経営上とても大切です。PoCをむやみに繰り返したり、実現性に不安があるのに先の段階に進んだりしないよう、PoCの結果を適切に分析・報告することが重要になります。
PoC開発を成功させるポイント
PoC開発を成功させるためには、どういった流れで進めるか、またどのくらいの規模で行うかなどいくつかのポイントがあります。
PoC開発を成功させるポイント
- 明確な目的とゴールを設定
- 小規模で迅速に行う
- 本運用に近い環境で検証する
- 関係者の協力を得る
ポイントを抑えないと、PoC開発をした後にトラブルが発生しやすくなったり、PoC開発がいつまでも終わらなかったりする事態になるかもしれません。以下ではPoC開発を成功させるポイント4つをそれぞれ解説しますので、ぜひ参考にしてください。
明確な目的とゴールを設定
PoC開発を成功させるためには、目的とゴールの設定が重要です。まずは「何のためにPoC開発をするか」を明確にしましょう。サービスどうしの連携についてなのか、新しい技術に関することなのかなど、何を目的としてPoC開発をするかを考えてください。
小規模で迅速に行う
PoC開発を最初から大規模に行うのは避けましょう。なぜなら、PoC開発の目的は「このプロジェクトは成功するのか」に関して各要素を確認することであって、プロダクトそのものを開発することではないからです。大規模かつ長期間にわたってPoC開発を行うと、いわゆる「PoC貧乏」「PoC疲れ」といった状況に陥ります。
PoC貧乏やPoC疲れや、PoC開発ばかりに時間がかかって一向に製品開発に入れなかったり、PoC開発にコストがかかりすぎたりする状況のことです。いつまでもテストをしていては、利益が上がらずビジネスとしても破綻してしまいます。何を検証したいのかを明確にして、なるべくスモールスタートするようにしてください。
本運用に近い環境で検証する
本運用に近い環境で検証を行うのも、PoC開発を成功させるポイントです。PoCを行う目的は技術的な困難を発見することなので、導入環境と異なる環境で検証をしてもあまり意味がありません。本運用に近い環境において、技術的なトラブルがないかを検証しましょう。
なお、使用するツールはプロトタイプでも、既存ツールでも問題ありません。場合によっては、既存ツールとプロトタイプを組み合わせて検証を行う場合もあります。いずれの場合でも、本運用と近いかたちで検証をするように心がけてください。
関係者の協力を得る
PoCには、ある程度の期間とコストがかかります。また、PoCを行っている間はプロトタイプや製品の開発に進めません。そのため、なぜPoCを行うのかを関係者にしっかりと共有しましょう。目的や意義を共有していないと「なぜいつまでも開発に取りかからないのか」と批判を受けてしまう可能性があります。
また、PoCの結果として「再度PoCを行う必要がある」「プロジェクト自体の中止を検討する」といった結論に至る場合もあることも共有してください。急にプロジェクト自体が止まってしまうと、やはり協力者から反感を買ってしまう可能性があるためです。なぜPoCをするのか、中止という結論になったらどうするかなどを、事前に話し合っておきましょう。
PoC開発について詳しくはプロに相談しましょう
PoC開発は、新しいプロダクトに関する技術やアイデアについて、本当に実現できるのかを検証するプロセスです。アジャイル開発と混同されやすいですが、製品を開発するのではなく、そのプロダクトがそもそも実現可能なのかを検証するプロセスとなっています。
本記事で紹介したように、PoC開発ではゴール設定から分析・報告までを的確に行う必要があります。また、適切に範囲設定ができないとPoC自体が失敗する可能性があるので注意が必要です。必要に応じてPoC開発に関するプロに相談しながら、プロジェクトについて適切に検証できるよう取り組んでいきましょう。