スクラッチ開発って何? メリットやデメリット、パッケージ開発との比較ポイントとは

このエントリーをはてなブックマークに追加

ECサイトやシステムを構築するための方法はいくつかありますが、そのシステムの規模や目的、機能レベルなどに応じて最適な構築方法を採用することが求められます。

今回は、ECサイトやシステムの構築方法の中で最も自由度が高い手法である『スクラッチ開発』についてご紹介し、パッケージ開発と比較した際のメリット・デメリットや、採用にあたり注意すべきポイントなどについて解説します。

   

スクラッチ開発とは

まず、スクラッチ開発の概要やスクラッチ開発で作られた成果物の著作権について解説します。

 

スクラッチ開発って何?

スクラッチ開発とは、ソフトウェアやコンピュータシステムをゼロの状態から作り出す開発手法のことです。「スクラッチ」には「最初から」という意味があり、既存のプログラムやパッケージソフトを使わず、完全オーダーメイドでシステム作り上げることからそのように呼ばれます。

 

なおスクラッチ開発が「ゼロから作り出す」とはいっても、実際にはテンプレートやフレームワークを他から一部流用することもあります。そのような流用を一切行わず、純粋にゼロから開発する場合を『フルスクラッチ』と呼んで区別することがありますが、いずれにしても既成品を用いず開発する方法で、両者に意味の違いはありません。

 

スクラッチ開発の著作権は誰のもの?

スクラッチ開発においては、一般的に発注者であるユーザー企業と、受注者であるシステム開発会社が存在します。では、成果物であるECサイトやシステムの著作権はどちらにあるのでしょうか。

 

開発されたシステムはユーザー企業のビジョンや戦略に則って生まれたものであり、ユーザー企業としては当然自社に著作権があると主張したいところですが、著作権法上はシステム開発会社に著作権があると定められています。

 

ただし、契約書に「著作権の帰属」に関する条文を入れることで、著作権をシステム開発会社からユーザー企業へ移転させることができます。

システムの著作権を自社側で持ちたい際は「受託者は委託者に対し、成果物の著作権を譲渡する」といった旨の条文を規定するようにしましょう。

 

スクラッチ開発の進め方

スクラッチ開発におけるサイト運用までの流れは、おおよそ以下のようになります。

 

スクラッチ開発の進め方

 

「要件定義」「設計」「プログラム開発」「テスト」「運用」の中で最も重要なのが「要件定義」です。要件定義はユーザー企業が「どのようなシステムを作りたいか?」「システムで何を実現したいか?」といったシステム要件を明らかにするところからスタートします。

 

要件定義の際に希望があいまいで、システム開発会社側に開発の意図が正しく伝わっていないと、この後の工程が全てぶれてしまい、最終的に「思い描いていたものと乖離したシステムが出来てしまった」となりかねません。仮に作り直しとなると、多大な追加費用がかかることがあります。

 

そのような事態にならないためにも、要件定義の段階でしっかりと開発の意図を固め、システム開発会社と密に打ち合わせを行うことが大切です。

 

スクラッチ開発のメリット

それでは次に、スクラッチ開発のメリットについてご紹介します。パッケージ開発など他の開発方法と比較して、どのようなメリットがあるのでしょうか。

 

独自性の高いシステム構築を行える

スクラッチ開発は、既存システムを用いることなくゼロの状態からシステムを構築するので、独自性の高い斬新なシステムを構築することが可能です。他社が行っていない事業を新たに立ち上げるなど、他社と差別化を図る必要がある場合には最適の方法といえます。

 

また、自社のビジネスや業務フローにフィットしたものを作ることができるため、使い勝手やデザイン面を追求して、自社にとって理想のシステムを構築したいような場合もスクラッチ開発は有利です。

 

長期にわたり使うことができる

スクラッチ開発によって構築されたシステムは、システム開発企業の倒産やサポート打ち切りによってシステムが終了になるといった恐れはありません。

 

また、自社にシステム開発部門を設けている場合や、信頼のおけるシステム開発会社の協力体制があれば、必要に応じて迅速にシステム改修を行うことが可能です。その結果、システムが陳腐化することもなく長期間システムを使い続けることができます。

 

スクラッチ開発のデメリット

これまで見てきたように、スクラッチ開発はシステム開発の理想形とも思えるものですが、その反面デメリットもあります。

 

コストがかかる

やはりなんといっても、スクラッチ開発には莫大なコストがかかることが最大のネックです。開発プロジェクトの予算を自由に使うことができる場合は別ですが、通常は限られた予算の中でECサイトやシステムを構築しなければならないので、コスト比較の段階で除外されてしまうケースが多々あります。

 

また、1からシステム構築を行うため、スクラッチ開発には最低でも1年程度、通常は2〜3年という長い開発期間を要します。スピード感が求められる現代、特にECサイトなどのトレンドの移り変わりが激しい分野においては、採用しづらい開発手法といわざるを得ません。

 

開発者選びが重要になる

スクラッチ開発で構築したシステムの良し悪しは、開発を担当する技術者やシステム開発会社の力量で決まるといっても過言ではありません。

要件定義はユーザー企業が主体で行うとはいえ、ユーザーの要件をシステムとして具体化するのは開発者です。システム構築のためにはユーザーの要件を正確に汲み取り、破綻の無いよう緻密にシステムを開発していくという複合的な技術力とノウハウが求められます。

 

業者選定の段階で、こういった技術力やノウハウを持っているかどうかを見抜くことは簡単なことではありません。業者選定ミスによるトラブルというリスクを孕んでいるのも、スクラッチ開発の問題点といえるでしょう。

 

スクラッチ開発とパッケージ開発

スクラッチ開発と比較されがちな開発方法にパッケージ開発がありますが、両者はどのように異なるのでしょうか。ここでは、パッケージ開発の概要とスクラッチ開発とパッケージ開発の違いを解説します。

 

パッケージ開発とは

『パッケージ』とはパッケージソフトの略で、多数のユーザーに向けて作られた既成品のソフトウェアです。必要な機能が最初から盛り込まれていますが、特定のユーザーのために作られたものではないので、自社の業務フローに合わない場合や融通が利かない点も出てきます。

 

そこで、パッケージに機能を追加したりカスタマイズを行ったりすることで、ユーザーのニーズに近づけていくという手法が取られます。このように、既存システムに追加機能をカスタマイズしてECサイトやシステムを構築していく方法が『パッケージ開発』です。

 

もちろん、ある程度の不便さは許容してパッケージをノンカスタマイズで使用するケースもありますし、自社の業務フローが確立されていない場合には、業務フローをパッケージ側に合わせて変革してしまうというケースも考えられます。

 

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

パッケージ開発は、既存システムに追加機能をカスタマイズしていくことで構築します。一方、スクラッチ開発はあくまで自社のニーズを最優先とし、既成品を使わずゼロの状態から構築する方法です。

 

構築するシステムやプロジェクトの要件によって、どちらの開発が向いているかは異なるため、開発着手の前に綿密に検討する必要があります。

 

スクラッチ開発とパッケージ開発を比較する際のポイント

スクラッチ開発とパッケージ開発を比較する際のポイント

 

スクラッチ開発のメリット・デメリットやパッケージ開発との違いについて解説してきましたが、実際にこれから構築しようとしているECサイトやシステムには、どちらの方法を採用したらよいのか悩んでいる方もいらっしゃるでしょう。

そこで、スクラッチ開発とパッケージ開発を比較する際のポイントについて解説します。

 

独自のシステムを構築すべきか

まず、これから構築するシステムは本当に独自性が必要なものかどうか考えてみましょう。自社では独自性があると思い込んでいるだけで、実は既成品として売られていることもあるので、パッケージを十分にリサーチするところから始めることをおすすめします。

 

これから構築しようとしているシステムがパッケージで売られていない、あるいは類似したパッケージはあるものの重要な機能が欠落しているといった場合は、スクラッチ開発に踏み切っても良いでしょう。

 

または、複数のパッケージを組み合わせなければ機能を実現できない場合や、大幅なカスタマイズが必要になる場合など、無理にパッケージ開発を選択したことでスクラッチ開発よりもかえってコストが膨らんでしまうことも考えられます。そういったケースでは、スクラッチ開発も視野に入れた検討が必要です。

 

業務の優先度で考える

次に、そのシステムを利用する業務が緊急性の高いものか、数年のスパンでじっくり構築すべき類のものかという視点で検討してみます。

 

例えば、業務上3ヶ月後にはシステムを使いたいといった急を要するケースにおいて、スクラッチ開発は不向きです。業務に適合するパッケージを探して導入するほうがスピーディーで、コストも抑えられます。

 

一方で、自社のコア業務に直結する重要なシステムを構築したいという場合、既存のパッケージを導入しただけでは他社との差別化が図れません。そのような業務においては、自社の優位性や独自性を打ち出したシステムをスクラッチ開発したほうが良いでしょう。

 

スクラッチ開発は慎重に検討する必要がある

近年ではパッケージやASP、クラウドECなどの製品やサービスが豊富に提供されており、これらは多種多様なユーザーニーズに応えうる機能を有しています。そのため、既存にないシステムを構築できるというスクラッチ開発の優位性は薄れてきているのが現状で、特にECサイトの分野においてスクラッチ開発が採用されるのはレアケースです。

 

スクラッチ開発には膨大な費用と時間がかかるうえ、思った通りのシステムが完成しないというリスクもあるので、「スクラッチ開発以外の方法では実現できない」という強い動機がない限り、採用するメリットは少ないといえます。

 

ECサイトやシステム開発の際には、システムの目的や各種開発方法の特徴を明確に把握し、適切な開発方法を選ぶようにしましょう。


お問い合わせはこちらから
このエントリーをはてなブックマークに追加

人気の記事

お電話でのお問い合わせ

03-3486-4118

平日9:00~18:00

お気軽にご相談ください!