ソフトウェアアーキテクトのための意思決定術のトップ画像

ソフトウェアアーキテクトのための意思決定術

投稿日時:
島田 浩二のアイコン

株式会社えにしテック / 代表取締役

島田 浩二

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

同セッションでは、株式会社えにしテックの島田浩二さんより、設計や技術選定のような影響範囲の大きい意思決定をどのように扱うべきか。また、「絶対的な正解がない状況」において、何を根拠にどのように判断すべきかを整理し、最も現実的な意思決定を導くための具体的な指針をご紹介いただきました。


島田:島田浩二です、インターネットではsnoozer05というIDで活動しています。

普段は札幌を拠点に、株式会社えにしテックの代表をしています。個人としては技術書籍の執筆や翻訳に携わっていて、3月6日に『ソフトウェアアーキテクチャの基礎 第2版』が刊行になります。第1版以降の変化やフィードバックを取り入れて、内容が大きくアップデートされています。

本日は、普段の開発でも影響範囲の大きい意思決定を担っている方々に向けて、その大変さを乗り越えていくために、私が大事だと考えていることをお伝えします。

ソフトウェア開発における意思決定の難しさ

まず、ソフトウェア開発の意思決定がなぜ難しいのかを、失敗例として2つ挙げます。ここでの例は架空ですが、似た経験をされた方は少なくないと考えています。

例1 マイクロサービス採用の失敗

マイクロサービスアーキテクチャは、機能ごとの開発スピードを上げやすいとか、スケーラビリティを実現しやすいといったメリットが語られます。そこで、新しいシステムをマイクロサービスで構築したとします。

ところが運用が始まると、求められる運用能力の高さや技術力に、組織の体制や運用が追いつかないことがあります。結果としてメリットを享受する前に疲弊して、システム自体が負債化してしまう。そんなケースです。

例2 全面リプレースの失敗

もう1つは全面リプレースです。技術的負債が溜まっているから事業推進の速度が落ちていると判断して、既存システムを捨てて作り直すことを決める。これはよくある話だと思います。

最初はまっさらな状態から作れるので、きれいに作れている感触があります。しかしリリースが近づくと、見えていなかった制約や運用ルールが次々に出てきます。その結果、リリース遅れや並行稼働期間の長期化、障害などが起きて、当初の狙いを果たせないリプレースになるような失敗です。

知識不足ではなく判断力不足で起きている

では、なぜこうした失敗が起きてしまうのでしょうか。私が翻訳した『ソフトウェアアーキテクトのための意思決定術』で、著者のSrinath Pereraさんは「ソフトウェアアーキテクチャの失敗の多くは知識不足ではなく、判断力不足で起きている」と言っています。

判断力不足とは、前提や制約を十分に捉えきれていないことです。あるいは、考慮すべき観点を十分に網羅できていないことです。さらに言えば、そもそも「判断」をしていないという状況も含まれます。

「判断をしていない」というのは、例えば流行に流されて決めてしまったり、願望に基づいて決めてしまったりすることです。最近では、AIに任せてしまうケースも出てきていると感じています。

判断力の不足とは

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