無料、もしくは低価格でも質の高いECサイトが作れるようになり、スクラッチ開発で作られたECサイトは少なくなってきたように感じます。
スクラッチ開発は他の選択肢と比較し、お金と時間がかかるためどのEC事業者でも検討出来る選択肢ではないため、どちらかというと敬遠されがちですが、どうしてもパッケージのサービスでは実現できない機能を実装したい場合には検討すべき選択肢です。
今回はスクラッチ開発について、いったいどのようなメリット・デメリットがあり、どのような時にパッケージではなくスクラッチ開発が求められるかを考えていきます。
もしスクラッチ開発でECサイト作りを検討しているなら、担当者の方はぜひご一読ください。
あらかじめ用意されたベースが何も用意されていない状態からコードを書き、それによってシステムの開発及び構築をしていくのがスクラッチ開発です。ゼロからECサイトを制作していくので、技術さえあれば幅広い機能を自由自在に実装することができますイトを制作していくので、技術さえあれば幅広い機能を自由自在に実装することができます。
このスクラッチ開発と対比されるのが、「パッケージ開発」や「ASP」です。ECに必要な機能がおおまかに揃えられたパッケージやサービスを、自分たちの必要な分だけカスマイズして構築していきます。
現在はECパッケージの高品質化および低価格化により、ECサイトを作る際にはパッケージサービスを利用するケースが主流になってきました。
次に、スクラッチ開発を選択するメリットとデメリットはどのようなものか、それぞれ見ていきましょう。
ECをスクラッチ開発する最大のメリットは、ソースコード含めて納品されていることがほとんどであるため、自社のビジネスのスピードに合わせた追加開発体制が構築しすいことです。
一般的なパッケージは、カスタマイズが可能であってもそのパッケージを作ったベンダーでないと追加のカスタマイズが出来ないことがほとんどです。そのベンダーがスピーディーに対応してくれれば問題ありませんが、多くのパッケージベンダーの主力のビジネスはパッケージライセンスの販売となりますので、期待していたスピード感で対応してくれないと不満を持たれるケースは少なくありません。
ECサイトはその特性上、追加開発によつ改善を繰り返していく必要がありますし、複数のシステムと連携し高度な顧客体験の提供を目指す場合、自社のビジネスプランに合わせた開発計画が立てられないことにはシステム改修がネックで思うようにビジネスが展開出来ないということになってしまいます。
スクラッチ開発であれば、ソースコードは納品されるため、パッケージベンダーによるベンダーロックのリスクなく、比較的開発リソースを調達しやすいということが出来ます。
また、ECサイト以外の機能が多い場合は、スクラッチ開発のほうが向いている場合も少なくありません。
パッケージはECの基本的な機能を揃えていますが、全く備えていない機能を実装するとなるとスクラッチと変わらないコストが発生する場合があります。そういった機能ばかりで、パッケージを利用するメリットがあまりない場合は、スクラッチ開発で作ったほうが安く済む場合もあります。
ZOZOやユニクロといった巨大ECサイトを持つ企業は自社に開発部隊を有しており、自社内でスピーディーな対応が出来るようになっているそうです。こういった体制は理想的ではありますが、どの企業でもエンジニアを雇用し管理できるかというとそうではないと思います。
今は無理でも、将来的にはそうする計画があるという場合は、当初のメリットは少なくともスクラッチ開発を検討すると良いかもしれません。
スクラッチ開発の最も大きなデメリットは、他の選択肢と比べ開発にかかる費用が高いことです。
どんなECサイトを作るかにもよりますが、外注するなら数千万円~数億円というレベルのコストが発生します。社内で開発するにしても、優秀なエンジニアを何人も採用しなければなりません。
また、開発にかかる期間も半年~2年間とパッケージに比べて長くなります。当然スモールスタートには向いた選択肢ではありません。また、構築の期間が長くなればなるほど市場環境に伴いビジネス戦略の変更が求められる可能性が高まります。構築途中に仕様変更することは出来るだけ避けたいですが、予めそういったリスクを鑑みた開発期間、体制にしておくなど考慮するべきことが増えます。
では、どんな時にスクラッチ開発は必要になってくるのでしょうか?
スクラッチ開発を始める前にチェックすべきポイントを見ていきましょう。
本当にスクラッチ開発でなければならない要件なのかを吟味しましょう。パッケージでも最近はオプションで多種多様なニーズに対応できるようになっています。本当に自分たちに欲しい要件を満たすパッケージがないか、探してみてください。
また、本当にその機能が必要かもあらためて考える必要があります。「あったほうがいい」程度の優先順位なら、その機能を諦めてコストを削ったほうがいいかもしれません。
スクラッチ開発をするなら、自分たちでセキュリティ対策も行わなければなりません。一般的にパッケージはセキュリティテスト済みなのに対し、スクラッチ開発でオリジナルのシステムを作るので、個別で対応する必要があるのです。
当然セキュリティ対策をするにもコストが発生します。そこをしっかり行わないという選択は基本的にはないと思いますが、そこのコストを抑えてしまい、結果的に脆弱性が残ってしまうということがあると、トラブルも起きやすくなり、最悪の場合には「サービス続行不可能」となるリスクもあるでしょう。コストをかけてでもきちんとセキュリティ対策を行うのが賢明です。
スクラッチ開発にはお金だけでなく時間もかかります。トラブル発生時のための余裕も持っておかなければ、期日に間に合わないか、脆弱なシステムのままでリリースしてしまうことになるでしょう。急を要する開発であれば、スクラッチ開発よりもパッケージ等を利用するほうが安心です。
パッケージがベースとなっている仕組みは、当然パッケージで元から持っている機能については問題なく動作することが保証されていますが、スクラッチで開発する場合全ての画面、全ての機能が問題なく動作するかをテストする必要があります。
請負開発で業者に開発を委託しているのであれば、稼働後にトラブルがあったとしても瑕疵として対応してもらえるという意味では、費用増については契約でリスクヘッジ出来ていると言えますが、将来的な追加開発を踏まえて効率の良いアーキテクチャで開発されているかといったような観点での品質の管理までは別で考える必要があります。
細かいプログラムのレベルでのレビューを自社で行うのかというと、効率の観点で現実的ではありませんが、委託先の提案が妥当であるか、品質は問題なさそうかを判断できる人材を確保することが求められます。
繰り返しになりますが、スクラッチ開発にはお金がかかります。予算がギリギリしかないと追加で費用が発生した時に対応できず、「結局パッケージで作るのと同じようなECサイトになった」という結末も珍しくありません。最悪の場合、追加の費用に対応できずプロジェクト自体が破綻するケースも……。
どれくらいの予算が必要なのか、情報収集しながら何度も計算してみましょう。予算は大きくずれることもしばしば。何度も計算した上で、さらに余裕のある予算を用意することが成功への近道です。
ECサイトの構築は、「完成したらゴール」というわけではありません。スクラッチ開発のメリットである「高速PDCAによるシステムの改善」の他、「システム緊急停止時の対応」を実現させる体制を構築出来なければなりません。
この2つを実現するには、社内にシステム開発に詳しい担当者が必要です。それだけの体制を維持することが出来ないのであれば、スクラッチ開発以外の選択肢を検討すべきでしょう。
いかがでしたでしょうか。
今日では、ECビジネスを取り巻く環境が目まぐるしく変わり、単なる「ECサイト構築」で終わることは少なくなってきています。求められる機能が複雑であればあるほど、スクラッチを検討したくなるのですが、本当にスクラッチでないと駄目なのかはよく検討する必要があります。
スクラッチ開発をするケースは、「スクラッチ開発でしか解決できない課題がある」場合に限った方が、合理的と言えるでしょう。
公開日 2019.08.30
更新日 2025.04.10