ざっくりと
- ゼロからプログラミング
- 時間と労力が必要
- 完全オーダーメイドの設計

スクラッチ開発とは、自分で全部作ることです。
概要説明
スクラッチ開発とは全て自分で作ることだ。 なぜならば、他人の作ったパッケージや雛形を使わずに自分で設計するからだ。
例えば新しいアプリを作るとき、全て自分で設計して作り上げる。そしてそれには時間と労力が必要だ。つまり完全オーダーメイドの開発である。だから最終的な使い勝手は非常に良い。
職業職種
- プログラマー
プログラマーは、スクラッチ開発をする。なぜなら、ゼロからの設計が可能で、細部まで自由に設計できるからだ。例えば新しいサービスを作り出すときに。 - システムエンジニア
システムエンジニアは、スクラッチ開発をする。なぜなら、顧客の要望を細かく反映させるシステムを作り出せるからだ。例えばカスタマイズが必要な大規模プロジェクトで。 - 起業家
起業家は、スクラッチ開発をする。なぜなら、自分たちのビジョンに完全に合ったサービスを作ることができるからだ。例えば新しいスタートアップ企業を立ち上げるときに。

「scratch」は「ひっかく」という意味があり、「from scratch」という表現で「ゼロから」や「何もないところから」という意味を持ちます。
代表例
- Google
Googleは、検索エンジンの開発でスクラッチ開発を採用。なぜなら、独自の検索アルゴリズムを自由に設計するため。例えば、ページランク。 - Amazon
Amazonは、オンラインショッピングサイトとしてスクラッチ開発を活用。なぜなら、ユーザーに合わせた使いやすさを追求するため。例えば、パーソナライズされた商品推奨機能。 - Elon Musk
Elon Muskは、SpaceXのロケット開発にスクラッチ開発を実施。なぜなら、従来のロケット設計では限界があったから。例えば、再使用可能なロケット「Falcon」。
手順例
- ニーズの特定
最初に、何を作りたいのかを決める。なぜなら、開発の方向性を定めるため。例えば、新しいSNSサイトを作りたい。 - 設計
次に、どういう機能をどのように実現するかを設計する。なぜなら、全体の流れを理解するため。例えば、ユーザーが友達を探しやすいような機能を考える。 - コーディング
その次は、設計に基づいてプログラムを書く。なぜなら、具体的な製品を作るため。例えば、PythonやJavaScriptでプログラムを作成。 - テスト
最後に、作ったプログラムが正しく動くか確認する。なぜなら、バグやエラーを修正するため。例えば、実際にサイトを操作してみる。 - 公開
問題がなければ、製品を公開する。なぜなら、ユーザーに使ってもらうため。例えば、Webサイトを公開してユーザーに登録してもらう。
類似語
- フルスクラッチ
フルスクラッチは、0の状態から全てを作り上げること。なぜなら、既存のパッケージ製品や雛形を一切使わずに開発を行うから。例えば、自家製パンを焼くこと。 - カスタム開発
カスタム開発は、既存のものを元に新たに開発を行うこと。なぜなら、基本の形はあるが、それに何らかの改良や追加を行うから。例えば、PCのカスタマイズ。 - オーダーメイド
オーダーメイドは、顧客の要求に応じて特別に製造・開発すること。なぜなら、顧客の要望に100%応えることを目指すから。例えば、オーダースーツの製作。
反対語
- パッケージ開発
パッケージ開発は、スクラッチ開発の反対である。なぜなら、既に作られているソフトウェアのパーツを組み合わせてシステムを作るからだ。例えば、ウェブサイト作成であれば、WordPressのようなCMSを利用すること。 - テンプレート開発
テンプレート開発は、スクラッチ開発とは違う。なぜなら、テンプレートや雛形に基づいてシステムを作るからだ。例えば、あらかじめ用意されたコードのテンプレートを使って、プログラムを作ること。 - オフシェルフソフトウェア
オフシェルフソフトウェアは、スクラッチ開発の逆である。なぜなら、市販のソフトウェアをそのまままたは少し改変して使用するからだ。例えば、Microsoft Officeのようなソフトウェアを使うこと。
会話例
- 友人との会話
Q.「君のやってるスクラッチ開発って何?」
A.「ゼロから自分たちでシステムを作り上げることさ。雛形とかパッケージ製品は使わないよ。」 - クライアントとの打ち合わせ
Q.「私たちの要望を全部反映できるの?」
A.「うん、スクラッチ開発だから、お客さんのニーズにぴったり合わせて作れるんだ。」 - 面接中
Q.「スクラッチ開発の経験はありますか?」
A.「はい、大学のプロジェクトでスクラッチ開発に取り組んで、オリジナルのアプリを作りました。」
注意点
スクラッチ開発を行う時の注意点は時間と労力である。なぜならば、全て自分たちで設計から実装まで手がけるからだ。
例えば、コード一つ一つを自分たちで書くことである。そして、事前にしっかりと設計や計画を立てることが必要だ。だから、焦らずじっくりと取り組むことが大切だ。

スクラッチ開発とカスタム開発は、間違えやすいので注意しましょう。
スクラッチ開発はゼロから全て自分たちで作ることです。
一方、カスタム開発は既存のものに手を加えて、自分たちのニーズに合わせることです。
コメント