スクラッチ開発とは
本日は「スクラッチ開発」について話をさせていただきます。
スクラッチ開発は「フルスクラッチ開発」ともいい、プログラムをゼロから作るという意味です。
何らかのある程度まとまった働きをするプログラムを「モジュール」と呼びます。
多くの場合、Webシステムの開発はモジュールを組合せて行われます。
各モジュールが、どういう機能を実現しているのか決まっており、様々な機能を持つモジュールが提供されています。
モジュールを組合せるだけでも、それなりの性能を持ち統一感のあるWebシステム作成が可能です。
プログラムの作成に用いるプログラム言語も、英語などの自然言語と同じ、言語の一つです。
言語は使わなければ上達しません。
各モジュールを英語で「挨拶」や「何々が食べたいです」と一連のフレーズの書かれたカードに対比させます。
朝はこのカードを出して、レストランではこのカードを出してとすれば、旅行などの目的は楽に達成されますが、英語のスキルは向上しません。
これはプログラマのモチベーションというか、QOL(Quality of Life)に対してQOW(Quality of Work)という言葉を使っておきますと、プログラミングスキルの向上は大多数のプログラマにとってQOW上大問題です。
スクラッチ開発では全てのプログラムを記述しますので 、仕事をすればするほどプログラミングスキルは向上しプログラマのQOWも向上します。
各プログラマのスキル向上は、中長期的に、お客様にお渡しする商品(システム)の品質・信頼性の向上に直結します。
MacintoshとWindowsパソコンでは、同じことがほぼ同じようにできます。
しかし、例えばMacintoshに慣れたユーザはWindowsパソコンの操作に若干の違和感を感じ、その逆もまた違和感をもたらします。
これはUI(User Interface)の問題です。
「ポリシー」の統一ともいいます。
MacintoshはApple社の、Windowsはマイクロソフト社の定めたガイドラインでポリシーを規定しUIに統一感を持たせています。
スクラッチ開発では、最初にポリシーを規定してとりかからないと、様々なタイプのUIが混ざった統一感のないWebシステムになってしまします。
スクラッチ開発に対して、何らかのポリシーに従ったグループとして提供されているモジュールを使う場合は統一感についての問題は出ません。
通常モジュールはグループとして提供されています。
適切なモジュールを並べるイメージで開発を行えば、統一感の取れたWebシステムが楽に構築できます。
しかし、そのグループのモジュールに含まれない機能が必要になった場合は、基本的に「構築に用いたシステムがこのような仕様になっていますので対応困難です。」としかお答えできない状態になります。
これは軽微に見える機能変更・追加であっても同様です。
これでは企業様に寄り添ったIT技術の提供、かゆい所に手が届く対応は困難です。
スクラッチ開発では、全てをプログラマが把握しておりますので、企業様のリクエストにより的確に柔軟に素早く対応することが可能です。
当社では、スクラッチ開発を適切に導入し、より企業様に寄り添うかたちでのIT技術の提供を行わせていただいております。
(K)