PoC開発とは
PoC開発の「PoC」とは、「Proof Concept」の略語で、日本語に訳すと「コンセプト実証」や「概念実証」という意味になります。
システム開発においては、新システムのアイデアに実効性があるか、アイデアの実現は可能かを検証するために必要な考え方です。
このPoCをもとに開発を進めることを「PoC開発」と呼びます。プロトタイプを作成し、実際の導入環境により近い状況で検証するのが特徴です。
令和の現代では、AIやIoTといった新技術を導入する際に、PoCを行なうケースが増えてきました。検証や評価を繰り返すという特徴を見れば、業務改善などの用途で用いられる「PDCA」にも類似する開発方法です。
PoCのメリットは?
様々なメリットを持つPoCですが、以下では代表的な3つのメリットを解説します。
●システムを実現できるか否かが検証できる
PoCが持つ最大のメリットは「実際にシステムが完成できるかどうかが分かる」という点です。プロトタイプで検証し、システムの実現率をあらかじめ高い精度で可視化できるため、投資対効果を最大限に引き出せます。
「技術的な問題で計画が頓挫する」、「不本意な軌道修正をせざるを得なくなる」といった無駄が発生しません。
●工数や人員コストの削減につながる
PoCは、先に挙げたシステムの実現性をあらかじめ検証することで、工数のムダや人員コストを効率的にカットできます。
「自社技術で実現可能か?」という疑問を早い段階で解決することは、効率的なシステム開発において重要な工程です。
●費用対効果を検証可能
PoCでは、新システムの試作品をユーザーにテストしてもらうのがポイント。
実際に使用した人の意見が聞けるため、期待している効果とのギャップを確認できます。結果的に予想売上や利益の指標が立てやすくなり、費用対効果の推測の精度も高まるのです。
必要に応じてシステムの軌道修正も行なえば、無駄な費用を削って効果・効用を向上させるのに役立ちます。
PoC開発の流れ
PoC開発の流れ |
---|
①企画 |
②効果・効用の検証 |
③技術的実現性の検証 |
④仕様や検討課題の洗い出し |
⑤要件定義 |
⑥設計・実装 |
⑦テスト・リリース |
以下では、「システム開発にPoCを取り入れたい」という企業担当者の方に向けて、PoC開発の具体的な手順を紹介します。
●企画
新システムの企画を練るのは、厳密には「PoCの前段階」にあたります。
企画の方向性が固まってきても、効果の実現性や技術的な実現性など不明瞭な点は多く残るものです。そこで必要なのがPoCによる検証となります。
●効果・効用の検証
企画が完成した後は、PoCによる検証がスタートします。どのようなシステム開発を行うにしても、まずはプロトタイプが欠かせません。
必要最低限の内容で構築したプロトタイプが完成したら、効果効用の検証として「その製品を作る意味があるのか」、「それは役に立つのか」といった実効性を見ます。
●技術的な実現性の検証
検証の第二段階として、「技術的に実現できるシステムかどうか」を検証します。
例えば、システム開発で「旅行に役立つ翻訳アプリ」を作る場合であれば「すべての言語を翻訳できるのか」、「国外でも使用できるのか」といった点が調査されます。
開発側として大切なのが、システムを利用するユーザーに協力をあおぐことです。
例えば、データ分析系のシステムであれば、実際にデータを分析する企業の担当者に協力してもらうことをおすすめします。
このほか、無人店舗に導入するシステムであれば、顧客に店舗で利用してもらいましょう。
端的に言えば、PoC開発は「実際の使用環境に近づけて検証を行うこと」が大切なのです。
●システムの仕様や課題の洗い出し
検証が完了した後は、システムが抱えている課題を整理する工程に進みます。
意見を参考にしつつ、市場ニーズも踏まえながら、システムのブラッシュアップをする工程です。
例えば、実証試験で協力してもらった方に、「ユーザーの立場から意見を出してもらう」といった方法が該当します。
大切なのは「課題洗い出し」、「それに伴う修正」、「ユーザーテスト」を繰り返して行うことです。
この工程を繰り返して、システムの効果や実現性をさらに向上させます。
●要件定義
PoCによる検証が完了したら、新システムに求められている機能をまとめた要件定義書を作成。
この要件定義書をもとに、開発予算や期間などが固められます。
PoCを行わない一般的なシステム開発であれば、先に挙げた「企画」の後工程が要件定義となる仕組みです。
●設計・実装
設計・実装は、要件定義書に沿って、システムの外部設計や内部設計を実施する工程です。
システムの画面や内部プログラムがすべて出来上がったら、実装して認証テストへ移ります。
実際にコーディングを行う、プログラマーやシステムエンジニアが活躍する工程です。
●テスト・リリース
テストの工程では、単体のプログラムや総合的なプログラムが正常に作動するかを検証します。
動作テストがすべて完了したら、いよいよシステムのリリースです。
システムによっては、リリース前に実際の導入環境下で問題なく使用できるかを検証する「運用テスト」を行うケースもあります。
一連の流れがPoC開発となりますが、企業や開発案件によっては、順番が前後することもあります。
万が一、実効性や実現性の面で問題が発生すれば、問題を解決すべく企画(または前工程)に戻るという仕組みです。