ECサイトやシステムを構築する場合、いくつか方法が存在します。
構築するシステムの規模、目的、機能レベルなどに対して最適な方法で構築することが必要です。
今回はそんないくつかあるシステム構築の方法の一つ、「フルスクラッチ開発」について、特徴や構築時に押さえておきたい内容を解説します。
- 他社のECサイトと差別化を図りたい
- オリジナリティある機能が必要
こんなご要望のあるEC担当者様は必見の内容です!
フルスクラッチ開発とは?
「フルスクラッチ開発」とは、ECサイトやWebシステムを構築する方法の一つです。
一言で表すと、「フルオーダーメイド」の構築方法で、元の英語の意味では「粘土やプラスチック板といった素材から模型を組み立てる」ことでした。
その意味から、システム構築の業界では「すべてをゼロから自前で制作すること」=フルオーダーメイドの構築を「フルスクラッチ」と呼ぶようになりました。
「スクラッチ開発」という言葉もよく使われますが、どちらも同一の意味を表します。
フルスクラッチ開発の3つのメリット
いくつかの構築方法がある中で、ゼロから自前で制作する「フルスクラッチ開発」で構築するメリットはどのようなところにあるのでしょうか。
フルスクラッチ開発で構築した場合のメリット3点をお伝えします。
自社にマッチしたサイトを構築できる
ゼロからオーダーメイドで構築するため、自社のビジネスや業務フローに合うもの、使い勝手やデザイン面などこだわりを追求できます。
他社と差別化しやすい
他社と差別化する場合、細かなところまでカスタマイズしたいことも多々発生します。そのような場合、パッケージソフトを使用し構築する方法では制約があり、カスタマイズに限界があります。
その点フルスクラッチ開発では、完全オーダーメイドのため差別化のためのカスタマイズも要件に盛り込むことが可能です。
長期的に利用しやすい
フルスクラッチ開発でシステム構築をした場合、システム開発企業の倒産、サービスの打ち切りによってシステムが終了してしまうなどのリスクがありません。
また、フルオーダーメイドの利点から、構築システムのフェーズに合わせて機能追加や変更ができます。
フルスクラッチ開発の2つのデメリット
メリットを見ていると一見とても理想的な開発方法にとらえられますが、デメリットも存在します。抑えておきたいポイントをご紹介します。
開発にコストと時間がかかる
フルスクラッチ開発は、システム開発にかかる人件費など多大なコストがかかります。
内製の場合、システム開発・保守のための部署を作る必要があります。このような場合、フルスクラッチ開発ができる人材を複数採用することが必須となりますが、フルスクラッチ開発ができる人材は限られています。
外部に開発を委託するとしても、パッケージ製品での導入に比べると割高になるケースが大半です。また、開発に時間がかかります。フルスクラッチ開発は最低でも1年、多くは2~3年の開発期間を要することもあります。
システム開発が属人化しやすい
ここで言う属人的とは、特定の社員がある業務を担当しており、詳細内容や進行方法が当人以外不明になってしまう状況のことを指します。
フルスクラッチ開発を内製で行い、システムを無事開発したとします。その後、社内の開発担当者が退職してしまったりすると、たちまちシステムを把握している人間が社内にいない事態が起きます。その場合、保守対応や追加開発により時間を要してしまいます。
外部ベンダも同様です。外部ベンダ企業が事業から撤退する、または保守サービスを辞めてしまった時は、システム保守が不可能になる可能性があります。
フルスクラッチ開発で自社サイトを構築する手順
フルスクラッチ開発で自社サイトを構築する場合、以下5つの手順が必要となります。フルスクラッチ開発を導入検討している際は、把握しておいた方がよいでしょう。
要件定義
5つの工程の中で最初の重要項目は「要件定義」です。
要件定義の際にあいまいな希望を出してしまうと、システム開発企業に開発の意図が正しく伝わらないことで、最悪の場合システムが完成したあとに再構築が必要となってしまう事態が発生するリスクもあります。
システム設計
システム設計とは、システムを完成するため、必要なハードウェア、ソフトウェアを選出することです。システム設計は大まかに分けると3つに分かれます。
- 外部設計
- 内部設計
- 詳細設計
1つめの外部設計は、UI(ユーザーが触る画面上の要素)の配置や、データベースの受け渡し方法、2つめの内部設計はサイト内でのデータの受け渡し処理を設計します。3つめの詳細設計はサイト全体のプログラミング構造を設計します。
プログラム開発
システム設計で作成した設計書を元にプログラム開発します。プログラム開発の工程は、基本的に開発側(企業)の業務となります。
テスト
プログラム開発をし、設計通りに動くか確認するテストを実施します。テストは主に3つ分けられます。
- 単体テスト
- 結合テスト
- 運用テスト
バグの有無を確認し、つど修正します。テスト結果でバグがたくさん発生している場合、開発が不十分の可能性があります。すべてのパターンを網羅したテストを実施するのが理想です。
運用
前述で実施したテスト結果に問題がなければ、晴れて運用をスタートします。
フルスクラッチ開発での外注について
フルスクラッチ開発を内製で行う場合、すべて自社で行うため、迅速、柔軟な対応ができます。しかし、すべての企業がすぐに内製で開発ができる人材を集めるのは厳しいでしょう。
その場合、専門の人材がいる外部ベンダに委託することも選択肢に入れておく必要があります。
もちろん、外部ベンダへ開発を依頼する場合、コスト面は高くなってしまいます。また、開発の際に依頼していた外部ベンダに不満を持ったとしても、その外部ベンダしか仕様を把握していないという事態も起こるため、開発開始後に他社へ変更することなどは難しいと理解していたほうがいいでしょう。
その他の開発方法との比較
フルスクラッチ開発はおもにオーダーメイドの開発でしたが、その他はどのような開発があるかご紹介します。
ハーフスクラッチ開発(パッケージソフト)
ハーフスクラッチ開発とは、土台がすでにある状態でシステムを開発します。
パッケージソフトは「すでに販売されているソフト」と同意語で、度々フルスクラッチ開発の比較対象となります。
ハーフスクラッチ開発では、パッケージソフトをインストール後、自社で行う作業は設定と調整などのカスタマイズのみが大半です。
フルスクラッチ開発と比べ費用を抑えられ、開発期間も短く済むメリットがあります。しかし、フルスクラッチ開発と比べるとカスタマイズ調整できる部分は限界があり、柔軟性に欠けるところがデメリットとして存在します。
クラウド / SaaSソフト
クラウド / SaaSソフトは、他社よりソフトやサービスを「借りる」形でシステム構築する方法です。
メリットは、ハードの保守の考慮が不要なところです。フルスクラッチ開発ではその後の保守は必須ですが、「借りる」形のため、自社で設備を持つ必要がありません。
またフルスクラッチ開発では、費用が高額になりやすく、開発期間もかかるため手軽にスタートできません。対してクラウド/SaaSソフトは安く済ませることも多く、比較的手軽な方法です。
逆にデメリットとして、サービス運営側の国の法律が適応されるため、海外のクラウド/SaaSソフトを使う場合は自社にとって不利にならないか注意が必要です。また、自社で開発しているフルスクラッチ開発と違い、クラウド上にあるため、ネットワーク障害が発生してしまうとシステムが利用できなくなります。
【まとめ】自社の状況を加味してフルスクラッチ開発を検討しよう
フルスクラッチ開発は自社のためにぴったりなオーダーメイドで構築が可能なところが最大のメリットです。
しかし、人材のリソースの難しさやコスト面の高額になりやすさなど、導入には慎重にならざるを得ません。
それぞれの導入方法のメリット・デメリットをしっかり理解し、現状の自社に適した導入方法を検討したいところです。