Eビジネスを推進するORANGEシリーズ

EC-ORANGE
お役立ち資料ダウンロード ニュースレター登録

スクラッチ開発のメリットと本当に必要なシチュエーションとは


システム開発はパッケージを使うのが良いのか、スクラッチ開発で一から作り上げてしまうのが良いのかという議論は多くなされてきましたが、どちらもそれぞれメリット・デメリットが大きく異なってくるため、一概にどちらが優れているとは言いにくいのが現状です。



どちらかに決めかねているという人は、ぜひこの記事を読んで参考になさってみてください。



  • スクラッチ開発とパッケージの違い
  • 迷った場合にスクラッチ開発を避けた方が良い理由
  • スクラッチ開発の必要性を見極めるためのアプローチ


  • スクラッチ開発とパッケージの違い



    今回は改めてスクラッチ開発とパッケージの特徴をまとめ、スクラッチ開発に本当に必要なシチュエーションとはどんな場合なのか、ご紹介します。



    スクラッチ開発とは?自社業務のオリジナリティが高い場合に必要な開発手法



    スクラッチ開発とは、まさにシステムを削り出すが如く、一からコードを書いて構築する開発手法のことを言います。
    パッケージ版を拡張したり他のシステムを流用して新たに生み出すのではなく、1から10まで全てオリジナルで構築してしまうスクラッチ開発を、特にフルスクラッチ開発と呼ぶこともありますが、この二つは基本的に同じ開発方法のことを指していると考えましょう。



    一からシステムを組み上げるということは自分の好きなように構築してしまうことができるということですから、このメリットは特に業務の独自性、特殊性の高い企業にとって重宝する手法です。



    既存のシステムでは対応できない最新技術を導入した新たなシステムの必要性や、技術は新しくなくとも新しいアプローチでのプロジェクトを考えている場合など、今あるものでは満足のいくパフォーマンスが期待できない時にはスクラッチ開発が威力を発揮するのです。



    安定感とスピードで勝るパッケージ



    スクラッチ開発が特殊性の高い業務とマッチすると聞くと、スクラッチ開発はベンチャー向きのようにも思えてきますが、必ずしもそうとは限りません。
    スクラッチ開発は確かにオリジナリティの高いシステムを構築することができるのですが、初期のコストは相応に大きいものになってしまいがちで、特に時間のコストは大きくなってしまう傾向にあります。こうしたコストはベンチャーにとっても大きな負担となりやすいため、むしろ大企業向けの開発手法といえるでしょう。



    そういったコスト面でのデメリットを抑えたい場合に用いたいのがパッケージによるシステム構築です。
    費用を安く、そしてスピードを失速させてしまわないことを優先する場合、すでに出来上がっているシステムを利用することで、事業を滞りなく進めていくことができます。



    既存のシステムを用いる場合はいわゆる自社のシステムを業界標準に合わせるということになりますので、あまり業務を増やしたくない場合や、カスタマイズ性の低い部分である場合には、わざわざスクラッチ開発を用いる必要はありません。



    パッケージライセンスを活用したスモールスタートも



    パッケージ導入とスクラッチ開発のメリットを合わせた開発手法として、パッケージライセンスの活用もおすすめです。標準機能が揃った状態で導入し、事業の拡大に合わせてシステムを拡張していくことができるため、柔軟性と拡張性を担保しながらスモールスタートで構築可能な点がメリットです。



    スクラッチ開発では開発にかかる時間、人的コストも莫大なものになりますが、パッケージが持つ標準機能を実装して、短期間でのサービス提供開始ができる点もメリットといえます。





    ■関連記事:【徹底解説】ECサイト構築4つの方法と成功の4法則「Orange EC」



    迷った場合にスクラッチ開発を避けた方が良い理由



    これまでスクラッチ開発とパッケージによるシステム開発についてご紹介しましたが、特徴が分かれているため、要件に応じて使い分ければ良いと言われても、様々なケースが想定できてしまう以上、やっぱりどちらにするか決めあぐねてしまうという方はいるかと思います。



    そんな時は、迷わずパッケージでのシステム構築を選ぶことをおすすめしています。
    というのも、そもそも特徴の違う二つで迷っている時点で、スクラッチ開発のメリットをうまく活用できない可能性があるからです。



    迷うということは使いこなせない可能性がある



    スクラッチ開発は確かに汎用性の高い構築方法ではありますが、「これがどうしても欲しい、既存のシステムに導入されていない」という強いこだわりがない限り、わざわざ時間とお金を割いてまで独自のシステムを組まなくとも、既存のシステムの流用で対処できることがほとんどだからです。



    そうした場合は、あらかじめパッケージに焦点を絞り、自社の業務にあったシステムのリサーチや、既存システムを上手く活用する方法の研究にコストを割くべきでしょう。



    スクラッチ開発は必然的に選ばれるべき



    逆を言うと、スクラッチ開発によるオリジナリティが必要なシチュエーションは、パッケージに求められるニーズとは矛盾していることになります。
    つまり、スクラッチ開発が本当に必要であれば、迷うことなくスクラッチ開発が選ばれるべきなのです。



    既存のシステムの流用や、とってつけたカスタマイズでは対応できない問題に直面した時、またはトラブルが予想されるケースが考えられた時に初めてスクラッチ開発は検討されなければいけません。



    加えて、他者との差別化が本当に必要であるかどうかも、スクラッチ開発を用いる際に考えておくべき事項です。
    会計や勤怠のようないわゆるノンコア業務は差別化の必要性が低い業務の代表格ですが、こういった業務のシステムはパッケージによるシステム開発が活きる場面でもあります。



    時間と手間をかけたからといって、他社よりも優れたパフォーマンスが出せるとは限りません。その都度必要な手段を検討するようにして、少しでも無駄なコストをかけないようにする心がけも大切です。





    スクラッチ開発の必要性を見極めるためのアプローチ



    スクラッチ開発とパッケージは二者択一というよりも、業務に応じた使い分けが大切ということですが、やや悩んでしまうのはこの使い分けの線引きのやり方です。
    線引きの方法としてまず挙げられるのは、先ほども少し触れたようにコア業務とノンコア業務の区別です。



    コア業務にはスクラッチ開発で差別化



    事業の要となるコア業務では、他者との競争やオリジナリティを試されるシチュエーションが必然的に多く生まれてくるため、スクラッチ開発はこの差別化を明確にする手法としてコストをかけてでも活用する価値はあるでしょう。



    あるいは、コスト面を考慮してでもスクラッチ開発を選択できるほどオリジナリティに自信がなけば、競合相手との差別化に失敗している可能性も考えられます。
    きちんとコア業務を把握して、オリジナルのシステム開発に時間をかけられるほど独創性のある業務を行えているかのチェックも兼ねてみると良いでしょう。



    ノンコア業務には標準パッケージで効率化



    逆に、そこまで時間をかけていられないノンコア業務にはパッケージによるシステム開発を選ぶと決めていれば、コア業務にさくことに時間も増えるため、作業の効率化はさらに進みます。



    システム開発の必要性が出てくるたびに開発のアプローチを検討するのではなく、あらかじめきちんとコア業務はスクラッチ、ノンコア業務はパッケージと決めておくことで、余計な業務を増やさずにすませることができるのです。



    またあらかじめ自分で線引きを行なっておくことで、他人やネットの意見に左右されることも少なくなります。特にネットでは、広告のためにパッケージの必要性やスクラッチ開発の必要性を販売の導入につながるように書いていることも多く、そういった記事を目にしたタイミングでうっかり流されて自社に適さない方法を取ってしまうこともあるかもしれません。



    そうならないためにも自社で導入のルールを決め、少しでも作業の負担を減らせるように準備をしておくことも大切です。



    事業に適したシステムを導入できるよう、開発のアプローチの違いやメリット、デメリットについてはしっかりと理解しておきましょう。