技術
システム開発の技術選定とは?言語・基盤の選び方を発注者向けに解説
システム開発を頼むとき、「どのプログラミング言語で作るか」まで発注者が決める必要はありません。ただ、その選び方を丸ごと知らないままだと、数年後に「直せる会社がいない」といった落とし穴にはまることがあります。この記事では、技術選定とは何か、なぜ重要か、そして発注者が押さえるべき観点だけを、専門的になりすぎない範囲で解説します。
技術選定とは何か
技術選定とは、システムを作るために使うプログラミング言語・フレームワーク・動かす基盤(サーバーやクラウド)などを決める作業のことです。家を建てるときに、木造にするか鉄骨にするか、どのメーカーの部材を使うかを決めるのに似ています。
主に、次の3つを決めます。
- 言語:システムの動作を記述するための言葉。用途によって向き不向きがあります。
- フレームワーク:言語を使って効率よく開発するための土台。決まった作法で組み立てられる「型枠」のようなものです。
- 基盤(インフラ):作ったシステムを動かす場所。自社のサーバーか、クラウドサービスかなどを選びます。
これらは開発会社が専門知識をもとに選ぶ領域であり、発注者が言語名まで指定するものではありません。とはいえ「何をどう選んだか」が、後々の保守しやすさや費用に効いてくるため、選定の考え方だけは知っておく価値があります。
なお、「スクラッチで作るか、ノーコードやパッケージを使うか」という開発手法の選択は、技術選定の一段手前の話です。手法の比較はスクラッチ・ノーコード・パッケージの違いで解説しています。この記事では、スクラッチ(個別開発)を選んだあとに「どの言語・基盤で作るか」を決める部分を扱います。
なぜ技術選定が重要なのか
技術選定は、開発が終わった後にじわじわ効いてきます。作っている最中はどの技術でも「動くもの」はできますが、その後の保守・拡張・引き継ぎのしやすさが、選んだ技術で大きく変わるからです。
重要になる理由は、主に次の4つです。
| 観点 | 技術選定が効く理由 |
|---|---|
| 保守性 | 情報や事例が多い技術ほど、不具合の修正や改善がしやすい |
| 拡張性 | 後から機能を足すとき、土台次第で追加のしやすさが変わる |
| 人材確保 | 扱える人が多い技術なら、他社にも頼めて乗り換えの自由が残る |
| 寿命 | 長く使われる技術は、数年後もサポートや情報が続きやすい |
とくに大きいのが人材確保です。世の中でその技術を扱えるエンジニアが少ないと、作った会社が対応できなくなったとき、引き継げる相手が見つかりません。結果として「その会社に頼み続けるしかない」状態、つまりベンダーロックインにつながります。技術そのものの優劣より、その技術を扱える人が世の中にどれだけいるか、という「層の厚さ」が、発注者にとっては決定的に重要になります。
もう一つ見落とされがちなのが拡張性です。開発時点では小さな仕組みでも、事業が伸びれば利用者や機能が増えます。そのとき、土台となる技術が拡張に向いていないと、規模が大きくなった段階で作り直しが必要になり、余計な費用がかかります。最初から「伸びしろのある作り」を選んでおけば、後から少しずつ足していけます。
逆に言えば、広く使われている技術で作られていれば、将来どの会社にも相談でき、相見積もりも取れます。技術選定は、単なる技術者の好みではなく、発注者の将来の選択肢を左右する経営判断でもあるのです。だからこそ、中身は分からなくても「選び方の観点」だけは持っておくべきなのです。
代表的な技術の選択肢(触りだけ)
具体的な技術名は覚える必要はありませんが、「どんな分類があるのか」をざっくり知っておくと、開発会社の説明が理解しやすくなります。専門的になりすぎない範囲で、代表的な選択肢を挙げます。
Webシステムの言語は、用途に応じて複数の選択肢があります。業務システムやWebサービスで広く使われる言語がいくつかあり、いずれも情報や事例が豊富です。ここでは「特定の言語が絶対に正解」というより、開発会社が慣れていて、扱える人が多い言語かどうかが判断のポイントになります。
モバイルアプリでは、大きく2つの作り方があります。
| 作り方 | 特徴 | 向いているケース |
|---|---|---|
| ネイティブ開発 | iOS・Androidそれぞれに専用で作る。動作が快適 | 動きの滑らかさや端末機能を重視する場合 |
| クロスプラットフォーム開発 | 1つのコードで両方に対応。コストを抑えやすい | 予算を抑えつつ両OSに出したい場合 |
**基盤(クラウド)**は、自社にサーバーを置く「オンプレミス」と、外部のクラウドサービスを借りる方式に大別されます。近年は初期費用を抑えやすく拡張もしやすいクラウドが主流で、代表的なクラウド事業者のサービスが広く使われています。どの基盤を使うかは、サーバーとは何かの観点も踏まえて開発会社が提案します。
いずれの分類も、細かい技術名を発注者が判断する必要はありません。大切なのは、選択肢が複数あること、そして選び方次第で将来の保守・費用が変わることを知っておくことです。
流行りの技術に飛びつくリスク
「せっかく作るなら最新の技術で」と考えたくなりますが、ここには落とし穴があります。登場したばかりの技術は魅力的に見えても、発注者にとってはリスクが大きい場合があります。
新しすぎる技術には、次のような弱点があります。
- 扱える人が少ない:情報も事例も少なく、後から直せる会社が見つかりにくい。
- 仕様が変わりやすい:普及の途中で作法が変わり、作り直しが必要になることがある。
- 不具合の情報が乏しい:問題が起きたとき、解決策がまだ世の中に蓄積されていない。
- 長続きするか不明:数年で使われなくなり、サポートが途切れる可能性がある。
もちろん、新しい技術がすべて悪いわけではありません。ただ、発注者の立場では「新しさ」は基本的にメリットになりにくいという点を押さえておくべきです。最新技術の恩恵は主に開発効率などに現れますが、そのリスク(人材難・情報不足)は将来の保守で発注者が負うことになります。
技術トレンドの移り変わりは早く、数年前に注目された技術が今はあまり使われない、ということも珍しくありません。派手なうたい文句より、その技術で作られたシステムが世の中にたくさんあるかを基準にするほうが安全です。開発会社から「最新の技術を使います」と言われたら、新しさそのものを喜ぶのではなく、「その技術は他社でも扱えますか」と一言確認しておくと、リスクを見極めやすくなります。
「枯れた技術」が安心な理由
新しい技術の対極にあるのが、いわゆる「枯れた技術」です。枯れているというと悪い意味に聞こえますが、システム開発ではむしろ褒め言葉です。長く広く使われ、不具合も出尽くして安定している技術を指します。
枯れた技術には、発注者にうれしい利点が揃っています。
| 利点 | 発注者へのメリット |
|---|---|
| 情報が豊富 | 不具合の対処法が世の中に蓄積され、修正が早い |
| 扱える人が多い | 他社にも頼めて、乗り換えの自由が残る |
| 動作が安定 | 想定外のトラブルが起きにくい |
| 長く使える | 数年後もサポートや情報が続きやすい |
たとえるなら、枯れた技術は「多くの職人が扱える一般的な工法で建てた家」です。修繕したくなったとき、どの工務店でも対応できます。一方、特殊な最新工法で建てた家は、建てた業者しか直せないかもしれません。
システムは作って終わりではなく、数年単位で使い続け、直し続けるものです。その長い期間を考えると、目新しさより「安定して長く扱える」ことのほうが、発注者にとってははるかに価値があります。
もちろん、枯れた技術と新しい技術は「どちらか一方だけ」というものでもありません。実際の開発では、土台となる中核部分は安定した枯れた技術で固め、一部の機能だけ新しい技術を取り入れる、といった組み合わせも行われます。大切なのは、システムの根幹が扱える人の多い技術で作られているかどうか。ここさえ押さえておけば、部分的に新しい技術が使われていても、引き継ぎで困る事態は避けられます。
発注者が技術選定を任せてよい理由
ここまで読むと「技術選定は自分で細かくチェックしなければ」と感じるかもしれませんが、逆です。言語やフレームワークの選定そのものは、開発会社に任せて構いません。むしろ、専門外の発注者が技術名を指定すると、かえって最適でない選択を招くこともあります。
任せてよい理由は明快です。
- 開発会社は自分が得意な技術で作るのが自然:得意な技術のほうが品質も速度も安定します。これは合理的な現実です。
- 技術の適材適所は専門判断が必要:用途に対してどの技術が向くかは、経験に基づく専門領域です。
- 発注者が指定すると制約になる:慣れない技術を指定されると、開発会社は本来の力を出しにくくなります。
発注者がやるべきなのは、技術を「選ぶ」ことではなく、**選ばれた技術が健全かを「確認する」**ことです。中身のコードを理解する必要はありません。次の章で挙げる、限られた観点だけをチェックすれば十分です。
開発会社が得意な技術で作ること自体は、開発会社選びの段階で「その会社が何を得意としているか」を確認しておけば問題ありません。得意分野がはっきりしている会社ほど、安定した品質が期待できます。
発注者が確認すべき3つの観点
技術の中身は分からなくても、発注者が押さえるべき観点は3つだけです。いずれも専門知識は不要で、開発会社への質問で確認できます。要件を詰める要件定義の段階で聞いておくとよいでしょう。
- 保守できる人が多い技術か:世の中でその技術を扱える会社・エンジニアが多いか。少ないと、将来直せる相手が見つからない。
- 特定の会社に縛られないか:その開発会社だけが扱える独自の作りになっていないか。独自基盤はロックインの入口。
- 後から拡張できるか:機能を足したり、利用者が増えたときに耐えられる土台か。最初は小さくても、伸ばせる作りか。
具体的には、次のように質問すると答えを引き出せます。
| 観点 | 発注者からの質問例 |
|---|---|
| 人材の多さ | 「この技術は他社でも引き継げますか?扱える会社は多いですか?」 |
| ロックイン | 「御社の独自基盤ですか、それとも一般的な技術ですか?」 |
| 拡張性 | 「後から機能や利用者を増やしても対応できる作りですか?」 |
これらの質問に、誠実な会社は嫌がらずに答えてくれます。逆に「専門的なので気にしなくていい」とはぐらかしたり、「うちでしか触れません」と強調したりする場合は、危ない開発会社の見分け方も参考に、慎重に判断してください。あわせて、成果物(ソースコード)の権利を受け取れるかも確認しておくと、乗り換えの自由が確保できます。
将来の引き継ぎ・移行を見据える
技術選定を評価する最終的なものさしは、「この先、別の会社にスムーズに引き継げるか」です。今の開発会社と長く付き合うつもりでも、廃業・撤退・担当者交代は起こり得ます。そのとき困らないよう、引き継ぎやすさを最初から見ておきます。
引き継ぎやすさを高めるには、次の点が効きます。
- 一般的な技術で作られている:扱える会社が多いほど、引き継ぎ先の候補が広がる。
- ソースコードと設計書が手元にある:実物と設計情報がないと、他社は着手すらできない。
- 独自基盤に過度に依存していない:特殊な作りは、それ自体が乗り換えの壁になる。
将来システムを別の基盤へ移したり、機能を大きく作り替えたりする「移行」も、土台が一般的な技術なら現実的なコストで進められます。移行や引き継ぎを見越すなら、保守契約の段階で「解約時にソースコードと資料を渡してもらえるか」を確認しておくと安心です。
例:引き継ぎを見越して発注したケース(一般化した例) ある小規模事業者が業務システムを作る際、「将来ほかの会社にも頼めるように」と、一般的な技術で作ることとソースコードの納品を条件にした。数年後に機能を足したくなったとき、複数の会社から見積もりを取り、条件の良い相手に依頼できた。技術選定の時点で「引き継げる作り」を選んでいたことが、そのまま将来の交渉力になった——。
このように、技術選定は目先の開発だけでなく、数年先の自由度を決める分かれ道です。発注者が中身を理解する必要はありませんが、「引き継げる作りか」という一点だけは、必ず意識しておく価値があります。
D-oneAppの考え方
D-oneAppでは、技術選定において保守しやすく、他社でも引き継げる一般的な作りを基本としています。目新しさより、扱える人が多く長く使える技術を優先する立場です。
- 一般的な技術を優先:将来どの会社に頼んでも改修できるよう、独自基盤への過度な依存を避けます。
- 成果物の権利は発注者へ:ソースコードを実物ごとお渡しするため、乗り換えの自由が残ります。
- 一律料金で総額が明確:スタンダードは一律100万円、大規模なプロプランは一律200万円で、着手前に総額が確定。追加費用はありません。
技術選定は本来、発注者が細かく判断する領域ではありません。だからこそ、「囲い込まない作り」を最初から前提にしておくことが、発注者の安心につながると考えています。100万円でできることの範囲でも、引き継げる技術と権利を押さえておけば、将来の選択肢を手放さずに済みます。
まとめ
システム開発の技術選定とは、言語・フレームワーク・基盤を決める作業です。発注者が技術名まで指定する必要はなく、選定は開発会社に任せて構いません。ただし、その選び方は数年後の保守・拡張・引き継ぎのしやすさを左右するため、考え方だけは知っておく価値があります。
押さえるべきは「保守できる人が多いか・特定の会社に縛られないか・後から拡張できるか」の3点だけ。流行りの新技術に飛びつくより、長く広く使われた枯れた技術のほうが、発注者には安心です。最終的なものさしは「別の会社に引き継げる作りか」。この一点さえ確認しておけば、技術の中身が分からなくても損はしません。
技術選定に不安があれば、どんな作りなら将来困らないかも含めて無料相談でお気軽にご相談ください。
よくある質問
Q発注者が技術選定に口を出す必要はありますか?
言語やフレームワークそのものを指定する必要はありません。選定は開発会社に任せて問題ありませんが、「保守できる人が多い技術か」「特定の会社に縛られないか」「後から機能を足せるか」の3点だけは確認しておくと安心です。中身の技術名ではなく、将来の自由度に関わる観点だけを押さえる姿勢が現実的です。
Q新しい流行りの技術で作ってもらったほうが良いですか?
必ずしもそうではありません。登場したばかりの技術は情報が少なく、扱える人も限られるため、後から直せる人が見つからないリスクがあります。長く広く使われている「枯れた技術」は情報や人材が豊富で、保守も引き継ぎもしやすい傾向があります。目新しさより、扱える人の多さで選ぶほうが発注者には有利です。
Q技術選定を間違えると何が起きますか?
主に「保守できる会社が見つからない」「機能追加のたびに高額になる」「性能が頭打ちになる」といった問題が、数年後に表面化します。開発時点では動いていても、扱える人が少ない技術だと乗り換え先がなく、結果的に費用が高止まりします。だからこそ発注前に人材の多さとロックインの有無を確認する価値があります。
Q開発会社が得意な技術で作られるのは問題ですか?
基本的には問題ありません。得意な技術のほうが品質も速度も安定します。ただし、それが世の中で広く使われている技術か、他社でも引き継げるかは確認しておきましょう。「自社だけの独自基盤なので他では触れません」という場合は、ロックインの入口になり得るため慎重な判断が必要です。