実現性の検証で導入前に課題を解決!PoCを成功させるコツとは?
PoC(Proof of Concept)とは、概念実証とも言われる開発方法で、システムの実用化が可能かどうか、プロトタイプを作成して検証するものです。実際に開発に入った後に、中止になることを避けるためにも用いられます。PoCを成功させるために知っておきたいポイントについて解説します。
システム開発にPoCが必要な理由
PoCは、「開発中のシステムが実際に稼働するのか」「(見込んでいる)効果があるのか」といった点について、費用と時間をセーブしながら検証するために行われます。
システムを実際に導入するかどうかを決めるにあたっては、自社の事業にメリットがあることが重要です。しかし、通常の開発手法の場合、そうした効果を確認できるのはシステムが稼働してから、すなわちほとんどシステムが完成に近づいた段階ということになります。ここで仮に「見込んでいたメリットが得られない」という判断がされたとしても、すでに開発は終わりに近づいており、費用も時間も無駄になってしまいます。
こうした事態を防ぐため、事業に対してどのようなメリットを届けられるのか、初期段階で試験的にシステムを動かして確かめよう、というのがPoCです。この目的のために、PoCはシステムの実現性が検証するのに十分な機能を載せたプロトタイプを準備する必要があります。
また、PoCでは顧客を巻き込むため、顧客が何を求めているのか、というニーズをより的確に把握できます。顧客から得られたフィードバックで問題点が明らかになれば、それに対する改善を行っていきます。そして、設定したターゲットに到達したら、実際のシステム開発に取りかかります。スムーズにPoCを完了させて次のステージに進むためにも、ここまでできればほぼクリアという指標を設定することが重要です。
ちなみに、PoCは小規模な予算で実施し費用対効果を見極められるので、小規模市場に導入をして市場性を確認するプレマーケティング的な用途にも使えるでしょう。あるいは、スタートアップにおいてシステム開発資金調達のためのプルーフにするなど派生的な目的も満たせます。
なお、PoCは、短いサイクルで開発・テスト・リリースを繰り返すため、仕様変更に柔軟なアジャイル型開発と相性が良い手法です。
→ アジャイル開発については、こちらの記事もご参照ください。
PoCの課題
PoCを行うにあたって一番問題となるのが、PoCばかりを繰り返して実現に結びつかないことです。
これについてはさまざまな原因が考えられますが、実際の開発フェーズへとGoサインを出す事業部との連携が関係していることもあります。このため、PoCの次のステージに移行するためにも、請負開発のようにシステム部が一方的に進めるのではなく、プロジェクトにシステムを利用する事業部を巻き込んでいくことが大切でしょう。実際にシステムの責任を持つ事業部からの理解を得ることが、肝心になるためです。
事業部の中にはITに明るくない人がいる場合もあります。そのような場合は、システム部がイメージしやすく動作例を上げて説明するようなフォローアップ体制も重要でしょう。
また、一般的に新しいシステムの導入は、既存の業務プロセスになじみのある社員から反発を受けやすい傾向にあります。そうした際には、既存のシステムに近い形で小さい範囲からPoCを実施する方法が有効です。自社がターゲットとしている市場にシステムがどのように浸透し、現状と比べてどのぐらい多くの利益をもたらすのかといったデータを示し、分かりやすい形で説明できると理想的です。既存のシステムに近いほうがイメージを持ちやすく、小さい範囲で成功させて新システム導入までの道筋を作るという狙いもあります。
課題としてはほかにも、PoCを繰り返すことで予算を使い切ってしまい、最終的なシステム開発に至らないというもののもあります。これは最初に検証したい課題を明らかにし、確実に検証できる機能をPoCに入れておくこと、さらにスピードを持ってプロジェクトを進められる精鋭メンバーをPoCにあてるといった対策で防げると考えられます。
PoC開発で取り入れたい手法
それでは次に、PoCで取り入れたい開発手法について見ていきましょう。
MVP開発
1つ目がMVP開発です。MVPとは「Minimum Viable Product」の略で、実行が可能な最小の製品を意味します。システムの実行にあたって、立てた仮説を検証できるだけのミニマムな単位での開発を行うもので、導入可能かどうかを最小限のコストとリスクで実証できるものになります。まだシステムのイメージが固まっていない場合に、システム側からユーザーへ提案を入れイメージを固めるためにも役立ちます。
実際の環境でテストするDevOps
2つ目は、DevOpsと呼ばれる手法です。DevOpsとは「Development(開発)」と「Operation(運用)」を組み合わせた言葉です。
この手法は、ユーザーからのフィードバックをもとに、問題点をピックアップし、必要な機能を加えてシステムを強化していくといった形で進められます。開発担当だけでなく運用担当者も一緒になって開発に携わっていくため、実際の環境に近い形で開発・テスト・運用が行え、さらに開発サイクルを縮められるというメリットがあります。早期にシステムの実現性を確認するために有効です。
オフショア開発でPoCを成功させる
PoCの要件を考えていくと、海外に開発を委託するオフショア開発という選択肢も浮かんできます。それは、オフショア開発では優秀な人材を日本国内よりも容易に確保できること、世界中の多くの企業からオフショア開発を受けている国であれば、経験や知識に期待できることなどからです。
具体的にオフショア開発でPoCを行うメリットについては、以下のようなことが挙げられます。
第一に上げられるのは、オフショア開発における人材の豊富さです。オフショア開発では東南アジアをはじめとした海外に開発を委託しますが、特に人気の国では優秀なIT人材が多くいます。このため、PoCを行うにあたり理想である、一定期間同じスタッフでチームを組み開発を行うラボ型開発の体制が取れます。専用のスタッフで開発できることは、短期でコストを抑えながらスピーディーに進めたいPoCに最適です。改修のプロセスを経ながら開発スタッフが徐々にシステムに習熟していくため、修正や問題点の発見を素早く行ったりバグを減らしたりなどの効果を期待できます。
また、PoCでは切り戻しが多くなることが予想されるため、そういった場合に備えて人員を確保できるオフショア開発が向いているでしょう。
これに加えて、1つ目は、自社の業界(自動車、医療、食品業界など)とオフショアされている地域で請け負っているシステムの開発が同じ業界だった場合、共通点が多いため、スタッフがシステムに習熟するスピードが早いことです。オフショア開発は、Webサービスを得意とすることが多いため、同じくWebサービスを利用する業界であれば、さらに親和度が高いでしょう。
→ オフショア開発については、こちらの記事もご参照ください。
まとめ:PoCで事前に課題を洗い出し、システム導入を成功させる
PoCはシステムの実現が可能かどうかを検証するために欠かせない開発手法です。
システム導入を成功させるためには、開発されるシステムがどのように日々の業務に役立つのか、事業部で具体的にイメージしてもらう必要があります。そのイメージを作り、新システム導入をスムーズにするためにもPoCは有効です。また、PoC実施に当たっては、コストを抑えて優秀な人材を確保しやすいオフショア開発がおすすめです。
お問い合わせページ