スクラッチ開発とは?パッケージ開発との違いや不向きな企業について
はじめに
システム開発には、いくつかの開発方法があります。中でも、独自性の高い開発に向いているのが「スクラッチ開発」です。スクラッチ開発には自由なシステム構築ができる、長期間利用できるといったさまざまなメリットがあります。
ただし開発するシステムによっては、スクラッチ開発ではなく、パッケージ開発や他の開発方法が向いていることもあります。スクラッチ開発とパッケージ開発の違いや、それぞれのメリット・デメリットを理解し、自社に向いている開発方法を選ぶことが大切です。本記事では、スクラッチ開発の概要やメリット・デメリット、パッケージ開発との違いなどをご紹介します。
弊社開発のシステム「SITEMANAGE」はパッケージCMSでありながらスクラッチ開発に近いカスタマイズが可能です。
SITEMANAGEの特長についてはこちら
目次
スクラッチ開発とは
スクラッチ開発とは、システムをゼロから作り上げる開発手法です。「スクラッチ」という言葉には「最初から」という意味があり、要件定義から設計・開発に至るまでをオリジナルで作り上げていきます。「ゼロから」とは言っても、実際にはフレームワークやテンプレートなどを用いて開発を行う場合もあります。
スクラッチ開発したシステムの著作権について
スクラッチ開発でシステムを作成した場合、基本的にシステムの著作権は開発会社に帰属します。著作権とは「自分の作った著作物の権利を他人に侵害されない権利」のことです。著作権には「人格権」と「財産権」があり、このうち財産権に関しては譲渡が可能です。
もし開発会社から著作権の譲渡を希望するのなら、契約書に著作権についての内容を明記し、開発会社にも納得してもらった上で契約を結びましょう。これを怠ると、のちに著作権の問題でトラブルになる可能性があります。
ちなみに著作物における財産権にはいくつかの権利があり、権利ごとに譲渡するかを決められます。すべての財産権を譲渡してほしい場合には「すべての著作権は発注者に帰属する」と記載することも可能です。
ただし「翻訳権・翻案権等」と「二次的著作物の利用に関する原著作者の権利」に関しては、特別に記載をしないと譲渡されません。これらには、開発会社と別に著作者がいるためです。
フルスクラッチ開発との違い
スクラッチ開発は、CakePHPやLaravelなどのフレームワーク、テンプレートを利用して開発を行う場合があります。一方で、テンプレートやフレームワークなどを一切使用せず、JavaやPHPなどの開発言語を用いる開発手法が「フルスクラッチ開発」です。
フルスクラッチ開発は「既存のもの」が一切ないため、自社に合わせたオリジナリティあふれるシステム構築ができます。保守管理や機能追加などもしやすく、サービスが終了する心配もないため、開発したシステムを長く使うことが可能です。
一方で、ゼロから作る特性上、完成までの時間やお金などのコスト面が、通常のスクラッチ開発よりも大きくなります。高い開発スキルも必要なため、開発会社の選定も重要です。
資金面に優れていてシステムの完成までに余裕がある企業や、自社独自の業務があり差別化にも成功している企業などは、フルスクラッチ開発が向いているでしょう。
スクラッチ開発の費用相場
スクラッチ開発の費用相場は、およそ500万円~1,000万円です。ただし、システムの複雑さや機能の数によって価格は変わります。たくさんの機能や複雑なシステムを導入しようとすれば、2,000万円程度かかることもあるため「最低でも」500万円はかかると認識しておきましょう。
なお、フルスクラッチ開発の最低相場は1,000万円程度、パッケージ開発は300万円〜です。このほかに、毎月保守管理を行うための月額必要もかかります。
スクラッチ開発のメリット
独自性の高いシステムが構築できる
スクラッチ開発は独自性の高いシステムを構築できます。完全オーダーメイドのため、自社独自のルールに合わせるのはもちろん、デザインや機能などもオリジナルのものを作り出せます。
また、他者との差別化ができるだけでなく、顧客の意見に合わせて機能を追加したり、UIを変更したりすることも可能。顧客の意見に応えたシステム作りをすることで、顧客満足度のアップも期待できるでしょう。
要件が最適化される
スクラッチ開発では、要件の最適化も可能です。既存のパッケージには、広く利用される機能が搭載されています。しかし、一般的な機能でも自社のシステムには不要だったり、逆に必要なのにパッケージにはなかったりといったこともあるでしょう。
スクラッチ開発は、要件定義の段階で自社にとって必要な機能、不要な機能を明確にします。要件が最適化されることで、余計なコストをかけずに自社に合ったシステムが開発できます。
長期間使い続けられる
長期間使い続けられることも、スクラッチ開発のメリットです。既存のパッケージの場合、提供会社が何らかの理由でサービスやサポートを終了してしまった場合、利用できなくなることがあります。しかし、ゼロから独自のシステムを構築しているスクラッチ開発なら、こうした心配はありません。
また、システムを改修し続けることで、永続的に現状に合わせたシステムにしていくことも可能です。
スクラッチ開発のデメリット
コストが高額
スクラッチ開発は、パッケージと比べると費用が高額になりがちです。自由度が高い分、システムや機能が複雑になって開発の難易度が上がることも少なくありません。複雑なシステム・機能ほどコストがかかる上に、開発だけでなく保守管理にかかるランニングコストなども見込んでおく必要があります。
場合によっては開発金額が億単位になることもあり、資金力の乏しい中小企業の場合、スクラッチ開発でのシステム構築は難しいのが現状です。
開発期間が長期
スクラッチ開発では、開発期間が長いこともデメリットです。ゼロベースでの開発開始となるため、スクラッチ開発の開発期間は一般的に2年~3年、短くても1年必要とされています。
特に昨今では市場の変化が早く、業務プロセスなども併せて変化させる必要があります。開発をしている間に環境が変わって、完成したときには現状と合わなくなっている可能性もあるでしょう。
開発ベンダー選びが難しい
スクラッチ開発では、ベンダー選びが非常に重要になります。しかし高いスキルが必要なだけに、理想的なベンダーを探すのはかなり難しいでしょう。
自社の意図を正確に汲み取って、希望通りのシステムを作ってくれる開発ベンダーが理想ですが、実績や印象でそれを見抜くのは困難です。仮にノウハウを持っておらず、不誠実な会社を選んでしまえば、コストがかかるばかりで希望通りのシステムが完成しない可能性もあります。
開発ベンダーを選定する際には「誠実な対応をしてくれるか」「自社の課題を理解してくれているか」を重視して選びましょう。開発ベンダーは、要件定義から運用まで密に連絡を取り合うパートナーです。安易に選ぶことはせず、慎重な検討が必要です。
スクラッチ開発に向いている企業・向いていない企業
スクラッチ開発に向いている企業
スクラッチ開発に向いているのは、以下のような企業です。
- 資金力と開発期間に余裕がある
- システムや業務の独自性が高く、パッケージ開発では要件を満たせない
- 機能の追加や改修などの予定がある
- 業務フローをシステムに合わせられない
スクラッチ開発は大きなコストがかかるため、潤沢な資金と時間が必要です。また自由度の高さによって独自性の高い要件もクリアできる上、業務フローをシステムに合わせる必要がありません。加えて、機能の追加や改修もしやすいです。
スクラッチ開発に向いていない企業
一方、スクラッチ開発に向いていないのは、以下のような企業です。
- システム構築に利用できる資金が少なく、開発期間も短い
- システムに合わせた業務フローの変更が可能
- 業務フロー変更や標準化のための開発を行う
スクラッチ開発には時間もお金もかかるため、時間とお金をかけられない場合には、パッケージ開発などの方が向いています。またシステム導入と同時に業務フローの変更、標準化を考えている場合には、大きなコストをかけてスクラッチ開発を行わなくても良いでしょう。
弊社開発のシステム「SITEMANAGE」はパッケージCMSでありながらスクラッチ開発に近いカスタマイズが可能。SITEMANAGEについてはこちらのページをご覧ください。
スクラッチ開発は時代遅れ?パッケージ開発との比較
スクラッチ開発は時代遅れ?
スクラッチ開発は「時代遅れ」と言われることがあります。自社に最適なシステムを構築できるのがスクラッチ開発の魅力ですが、開発に時間もお金もかかるため、変化の速い現代の市場においては導入が難しい場合もあるようです。
またスクラッチ開発が時代遅れと言われるのは、パッケージが多く提供されていることも要因でしょう。パッケージは安価な上に、スクラッチ開発と比べるとコストが大きく抑えられます。
パッケージ開発とスクラッチ開発、どちらが良いかは自社の業務や予算によりますが、パッケージ開発の方が向いている場合もあります。
パッケージ開発とは
パッケージ開発とは、既存システムをベースにした開発手法です。スクラッチ開発ほど自由度は高くありませんが、汎用性のある機能が用意されているパッケージが多く、カスタマイズを行いながら自社の理想のシステムに仕上げていきます。
住宅に例えると、スクラッチ開発は間取りやデザインをすべて自由に設計できるフルオーダー住宅。パッケージ開発は大まかな仕様が決まっていて、細かい部分を自分で決めていくセミオーダー住宅と言えるでしょう。
パッケージ開発のメリット
パッケージ開発には、以下のようなメリットがあります。
- 短期間での開発が可能で、コストも抑えられる
- 安定した運用ができる
- 導入がスムーズ
パッケージ開発の大きなメリットが、スクラッチ開発と比較してコストが大幅に抑えられることです。また自社で保守管理や運用を行う必要がありません。システムでトラブルが起きた際などの対応・予防策もベンダーが行うため、安定した運用が可能です。他社での導入も豊富なため、導入時に必要なマニュアルなどの整備もしやすいでしょう。
パッケージ開発のデメリット
パッケージ開発には以下のようなデメリットがあります。
- 開発の自由度が低い
- 独自性の高いシステムは作れない
- 不要な機能もある
パッケージ開発は既存のシステムを利用するため、既存システムでできるカスタマイズが限界です。そのため、独自性の高いシステムは再現できず、不要な機能も用意されています。また場合によっては、業務フローをシステムに合わせる必要性も出てきます。
スクラッチ開発とパッケージ開発の比較表
スクラッチ開発とパッケージ開発には、以下のような違いがあります。
スクラッチ開発 | パッケージ開発 | |
---|---|---|
開発期間 | 2年~3年程度 | 3ヶ月~半年程度 |
拡張性 | すべて自由設計が可能 | 用意されている機能に限られる |
最低費用相場 | 500万円~1,000万円程度 | 300万円程度 |
業務への適合性 | 自社の業務に合わせた開発が可能 | 業務をシステムに合わせる必要がある |
企業担当者の負担 | 要件定義を終え、システムの仕様が決定するまでの負担が大きい | スクラッチ開発と比較すると、要件定義の負担は低め。ただし、業務をシステムに合わせる必要があるため、現場の負担は大きい |
ちなみに弊社で扱っているパッケージCMSについてはこちらで詳しく説明しています。
自社に合った開発方法を選ぶ3つのポイント
ここまでスクラッチ開発とパッケージ開発、それぞれの特徴をご紹介してきました。しかし、自社に合っているのはどちらの開発手法なのか、悩む方もいるでしょう。ここからは自社に合った開発方法を選ぶ3つのポイントをご紹介します。
1.システム化したいことの優先度で考える
まずは、システム化する業務で「何を優先すべきか」を考えましょう。開発コスト、納期、適合性などを比較して優先すべきものを決め、それによってスクラッチ開発か、他の開発手法かを決定します。
例えば、業務への適合性を優先するのなら、自由設計が可能なスクラッチ開発が向いています。しかし、費用や納期を優先するのなら、パッケージ開発などのコストがかからず、開発期間の短い方法を選んだ方が良いでしょう。
可能であれば、コストや納期、適合性などすべてをクリアすることが望ましいですが、システム開発においてすべてを満たすのは難しい場合が多いです。目的に合わせ、優先順位をつけておくことで、適切な方法での開発ができます。
2.要件定義がうまく行えるか
要件定義がうまく行えるかも、開発方法を選ぶ際に重要です。
スクラッチ開発は自由度が高いため、基本的に発注側の作りたいシステムが作れます。だからこそ、発注側の意図が正確に伝わらないと「当たり前の機能がない」「デザインと辻褄が合わない」などの失敗によって、余計なコストがかかる例も少なくありません。そのため、お互いに齟齬のないように、要件定義は時間をかけてしっかり行う必要があります。
ただ、システムの発注経験が少ない企業では、要件定義の際に提供すべき情報が分からないことも多いでしょう。要件をまとめたり、ハンドリングに自信がなかったりする場合は、パッケージ開発が向いていることもあります。
3.実現したいことがパッケージ化されていないか
スクラッチ開発を検討する前に、自社のシステムがパッケージで実現できないか、確認しましょう。独自性が高いと思っていた自社の業務も、パッケージによっては実現可能な場合があります。
まずは、自社の求める要件を整理しましょう。その上で自社の要件を満たすパッケージがあれば、コストをかけてスクラッチ開発を行う必要はありません。
要件を満たすパッケージを探すのが困難な場合は、各ベンダーに問合せをしてみるのが手っ取り早いかもしれせん。
弊社のパッケージCMS「SITEMANAGE」は100以上のパッケージプラグインを用意。
既存プラグインにない機能はオリジナルで開発も可能です。
スクラッチ開発とパッケージ開発のいいとこどり!
実現したい機能あるが、パッケージの機能には組み込まれておらず、スクラッチ開発にすると予算が超えてしまう場合、機能か予算のどちらかを諦めなくてはいけません。
弊社が提供しているCMS「SITEMANAGE」は、既存の機能から自由に選択して作り上げるパッケージの要素を持ちながら、足りない機能や独自性のある機能はすべて自社で開発するスクラッチ開発の面も併せ持ち、スクラッチ開発よりも低予算で開発できます。
「こんな機能を開発できないか」、「コストをおさえてシステム開発したい」などのご要望がございましたら、ぜひご相談ください!
⇒システム開発について相談する
高度なカスタマイズと開発で「やりたい」が実現できる
「SITEMANAGE」には、100以上のプラグインが用意されており、必要なものだけをカスタマイズできるだけでなく、既存プラグインにない機能は自社で開発をするため「やりたいこと」を実現。600サイト以上の実績から得た構築ノウハウを生かして、最適なご提案を行います。
費用と開発期間がおさえられる
「SITEMANAGE」では、Webサイトを構築するうえで必要なプラグインがすでに完成しており、必要な機能をカスタマイズするだけのため、費用と開発期間も短縮できます。
フェーズを分けて開発することが可能
サイトを構築する際に、サイト公開予定日などから納期が決まっており、短期間で対応が必要なこともあると思います。「SITEMANAGE」なら、機能を後から追加して拡張していくことができ、スモールスタートでサイトを構築していくことができるので、予算が把握しやすく、短納期で対応が可能です。
まずは製品サイトを作って、あとからEC機能の追加。SITEMANAGEならそういった段階的なサイト構築も可能です。
SITEMANAGEについて詳しく見る
まとめ
スクラッチ開発は独自性が高い業務にも合わせられる、非常に自由度の高い開発方法です。しかし、場合によってはスクラッチ開発よりもパッケージ開発の方が向いていることがあります。スクラッチ開発を検討する前に自社の要件をまとめ、対応できるパッケージ開発がないか、探してみましょう。