技術選定の不確実性に向き合うためのアーキテクト思考のトップ画像

技術選定の不確実性に向き合うためのアーキテクト思考

投稿日時:
米久保 剛のアイコン

ソフトウェアアーキテクト

米久保 剛

Xアカウントリンク
本記事では、2026年2月26日に開催されたオンラインイベント「技術選定を突き詰める Online Conference ――逆境を乗り越える意思決定プロセス」内のセッション「技術選定の不確実性に向き合うためのアーキテクト思考」の内容をお届けします。

同セッションでは、ソフトウェアアーキテクトである米久保 剛さんが登壇。技術選定という行為の本質から、人間の認知バイアスへの対処法、トレードオフ分析の要諦、そしてAI時代における技術選定の変化まで、アーキテクトとしての思考法を体系的にお話いただきました。


技術選定とは何か

米久保:「技術選定の不確実性に向き合うためのアーキテクト思考」というタイトルでお話しさせていただきます。オープニングのセッションですので、そもそも技術選定とは何かというところから入りたいと思います。

まず、「技術」の語源は古代ギリシア語の「テクネー」で、物をつくるために必要な知識やそれを使う技を意味します。ソフトウェア開発の文脈では、利用するミドルウェアやライブラリ、フレームワーク、ツール、あるいはそれらに関する知識を活用してアーキテクチャやコンポーネントを設計していく技能が該当します。「選定」を分解すると、選んで定めるということです。複数の候補の中から目的に合うものを選び、最終的に1つに絞り込んで意思決定するという行為になります。

技術選定の難しさについても触れておきます。要件を正しく捉えること自体が難しく、要件は時間の経過につれて移り変わっていきます。それを解決するための技術の選択肢も多く、変化のスピードも速い。そうした状況下で複雑かつ高度な意思決定を求められるというのが、この行為の難しさです。加えて、技術選定を行うための「技術」自体が体系化されておらず、暗黙知となっている状況もあると見ています。

本日のセッションのゴールとしては、ジュニアや若手の方にとっては技術選定に必要な原理原則や基本的な考え方を持ち帰っていただくこと。中堅やベテランの方にとっては、技術選定という営みを見つめ直して暗黙知を形式知化し、後輩に伝えていくきっかけにしていただくことを目指しています。

技術選定の本質

そもそもなぜ技術選定をするのか。それは、技術で解決したい課題があるからです。技術そのものは目的ではなく手段に過ぎません。何らかの課題を解決したいからこそ、選定を行う必要があるのです。

例えばGitを例に考えてみます。今、プロジェクトを立ち上げるときにバージョン管理システムを何にしようかと検討することはほぼありません。それほどGitは当たり前のツールになっています。しかし15年ほど前はまだGitが出たばかりで、Subversion(SVN)が広く使われていた時期がありました。SVNは中央集権型のバージョン管理システムで、最後にブランチを統合する「マージが非常に大変」という課題がありました。その課題を解決する分散型のバージョン管理システムとしてGitが普及していったわけです。

SVN → Git

Gitが急速に広まった背景には、周辺ツールの充実やGitHubのエコシステムの構築、ブランチモデルのノウハウが普及してきたことがあります。その結果、Gitを使わない理由を探すほうが難しくなり、バージョン管理システムについてはソフトウェアの選定プロセスを発動する必要がなくなりました。

この記事のつづきを読もう
新規登録/ログインしたらできること
  • すべての記事を制限なく閲覧可能
  • 限定イベントに参加できます
  • GitHub連携でスキルを可視化
ログイン
アカウントをお持ちでない方はこちらから新規登録