ブログ

CRMはスクラッチ開発が良い?そのメリットと問題点

CRMを開発する際、できるだけ自社に合ったものが欲しいという理由で、スクラッチ開発を選ぶ企業もあるでしょう。
スクラッチ開発には自社にぴったり合ったシステムができるという大きなメリットがある一方、いくつかの問題点もあります。
この記事では、CRMのスクラッチ開発とパッケージ開発を比較し、スクラッチ開発のメリットや問題点を考えていきます。

CRMを開発するには

CRMを開発するには、大きく分けて「スクラッチ開発」と「パッケージ開発」の2種類があります。

スクラッチ開発とは

既製のアプリケーションやシステムを利用せず、ゼロからシステムを構築する方法をスクラッチ開発と言います。
スクラッチ開発には、次のようなメリットがあります。

  • 仕様が自由
    完全オーダーメードでオリジナルのシステムを開発できるので、細かいところまで自社の仕様や要件に合わせられます。
    既存のパッケージ製品にはないような特殊な機能を盛り込み、他社と差別化するといったことも容易です。
  • 追加要件や修正も可能
    ひとつのITベンダーが設計から実装までを担当し、運用開始までの間にユーザーレビューの機会が設けられます。その間は追加や修正も可能です。
  • 保守運用やバージョンアップも容易
    ユーザーの予算やタイミングに合わせて、システムを開発したITベンダーに頼み、修正やバージョンアップを行うことができます。
  • 予算に合わせた開発が可能
    スクラッチ開発は一般的にパッケージ開発よりも費用がかかりますが、開発時には最小限の機能に絞り、段階的に機能を増やしていくといった、予算に合わせた対応が可能です。
  • 長期間使用可能
    パッケージ製品のように開発やサポートの期限がないので、適切な保守運用さえ行えば、長期間システムを使い続けることができます。

パッケージ開発とは

パッケージ製品として発売されている既成のアプリケーションやシステムを、自社の業務や仕様に合わせてカスタマイズしていく開発方法です。
スクラッチ開発ほどコストや開発時間がかからないのが特徴です。

ただし自社の業務フローを、ある程度は利用する製品の標準的な業務フローに合わせていく必要があります。
また、ユーザーインターフェースや機能などについても、他社との差別化はしにくくなります。

CRMをスクラッチ開発するときの流れ

スクラッチ開発では、次のような手順でシステムを構築します。

1.要件定義

ITベンダーと打ち合わせを行い、どのようなシステムを作成するのかを明らかにし、機能や要件を決めていきます。曖昧な情報を伝えると、あとから大掛かりな修正や変更が必要となって余分な時間やコストがかかってしまうため、この段階で、できるだけ詳細かつ正確に要望を伝えなくてはなりません。

2.方式設計

要件が定まったら、仕様、開発方針、システムやデータベースの構造、使用言語など、大まかな方向性を決めていきます。最終的にはベンダーが方式設計書を作成し、ユーザーが設計書をレビューすることで方向性を決定します。

3.詳細設計

システムの詳細を設計します。例えば、次のような項目です。

  • プログラムの構造やコンポーネント
  • データの受け渡し方法や形式
  • データベースの詳細
  • ユーザーインターフェース

最終的にはベンダーが詳細設計書を作成し、ユーザーが設計書をレビューすることで詳細な仕様を決定します。

4.プログラミング

方式設計書や詳細設計書をもとにプログラミング(コーディング)を行い、必要な機能を実装していきます。機能の追加や修正ができるのは、この段階までです。それ以上の修正は次のバージョンアップでの対応になります。

5.テストとデバッグ

作成したプログラムをテストし、想定どおり動作するかをチェックします。バグ(不具合や誤り)があればデバッグ(修正)が必要です。

まずは一つひとつの機能ごとの単体テストを行います。単体テストでのデバッグが終了したら、プログラムの結合を行います。一段階結合するごとに、機能の連携をチェックする結合テストが必要です。既存のシステムとの連携が必要な場合は、その部分の結合テストも行います。

結合テストとデバッグを繰り返し、すべての機能を結合してテストを行い、バグがなくなれば終了です。

6.運用テスト

結合テストが終われば、実際に現場での運用テストを行います。動作の最終確認を行う段階で、システムが実際に現場で使えるかを確認するのが目的です。ここで、仕様書やマニュアルなどもチェックします。

7.本番公開

完成したシステムを社内で公開し、実際に運用を開始します。

8.保守運用

運用中に判明した不具合やほかのシステムの更新、ハードウエアの更新などがあれば、修正やメンテナンスが必要です。機能に不足や不具合があれば、バージョンアップで機能の追加や修正も必要になります。

スクラッチ開発でCRMを作成するときの注意点

CRMをスクラッチ開発で作成するには、次のような点に注意する必要があります。

開発に日数がかかる

ゼロからシステムを開発するので、運用開始までにはパッケージ開発よりも多くの時間がかかります。
また、オーダーメイドで自由に要件や仕様を決められるため、途中で追加の要望をしてしまいがちで、その結果システムの完成がどんどん遅れるケースが見られます。
開発を始める前にあらかじめ期限を決めておき、可能な限りその期限までに完成することを意識しましょう。

コストがかかる

要件定義からテストまですべての工程をゼロから行うため、スクラッチ開発はパッケージ開発よりもコストがかかることがほとんどです。
開発を始める前に大まかな要望や仕様を決め、複数のITベンダーに見積もりを取ると、大まかな費用の相場が分かります。

開発中に追加の要望をすると、開発時間だけでなくコストも上がってしまうので注意が必要です。

ITベンダーを変更しにくい

スクラッチ開発では、打ち合わせを重ねてゼロからシステムを開発していくので、そのシステムに関する資料やノウハウは、依頼したベンダーにしかありません。
そのため、運用開始後の保守作業やバージョンアップも通常そのベンダーに依頼することになります。
ベンダーの対応が好ましくなくても、ほかの会社に変更するとなると大変です。
開発を始める前に、できるだけ担当者と積極的にコミュニケーションを取り、良いベンダーを見極めることが大切です。

スクラッチ開発とパッケージ開発両方のメリットを享受できる方法もある!

CRM開発にはスクラッチ開発とパッケージ開発のほかにもうひとつ、すでにある部品を組み合わせて構築する方法があります。
既存の部品を組み合わせるだけで必要な機能や仕様を実現できるため、スクラッチ開発ほど時間もコストもかかりません。
また、カスタマイズの自由度はパッケージ開発より高く、独自の機能を追加したり自社の業務に仕様を合わせたりといったことも容易です。

部品はすでにほかのシステムで稼働し、動作が保証されていること、部品の組み合わせであるため、開発担当者でなくてもメンテナンスがしやすいことなど、ほかのメリットも満載です。

スクラッチ開発とパッケージ開発の両方の良さを取り入れた、そんなCRMを実現できるのがサイバーウェーブです。

詳細はコチラをご覧ください。

CRMを開発する前に本当にスクラッチ開発が必要か考えてみよう

完璧に自社に合ったCRMを導入するために、スクラッチ開発が必須というわけではありません。
スクラッチ開発にはメリットだけでなく、大きなデメリットもあります。
まずはCRM導入の目的やCRMで解決したい課題を明確にし、それを実現するためには本当にスクラッチ開発が必要なのかを考えてみてください。
そこから、自社に合ったCRMの形がはっきりとしてくるでしょう。

おすすめ記事