⚖️

「機能を作らない開発は必要?」の議論に終止符を —— アーキテクチャ改善を『経営課題』として翻訳する

に公開

はじめに

本記事は、Luup Advent Calendar 2025の12日目の記事になります。

こんにちは、株式会社LuupのSoftware部でPlatform / Technology Enabling (Backend TL) を担当している安元(やっすー)です。

終わらない議論に終止符を打つ

「このコード、リファクタリングしないと将来まずいです...😖」
「でも、それでお金は稼げるの? ユーザーに何か価値があるの?🤔」
「システムのリプレースが必要なので、機能開発を数ヶ月止めさせてください🥶」

エンジニアとビジネスサイド(経営層・PM)の間で、どの企業でも幾度となく繰り返されてきた会話かと思います。お互いの「スタンス」の違いから生じる、自然かつ不幸なすれ違いではないでしょうか。

この記事の目的は、なぜアーキテクチャ改善やマイクロサービス化のような保守性向上を行うのかという問いに対し、経営層の視点で明確な答えを出せるようにすることです。ぜひこの記事を通して周りのエンジニアはもちろん、経営層やビジネスサイドの方々とエンジニアで共通言語を持ち、組織としての「技術への向き合い方」を再定義するきっかけにしていただければ幸いです。

なお Luup でのアーキテクチャ改善事例については、以下の記事をご参照ください。
https://zenn.dev/luup_developers/articles/server-yasumoto-20251125


結論から言えば、アーキテクチャ改善は「エンジニアの自己満足」ではなく、企業の生存競争力を維持するための投資です。なぜそう言い切れるのか、具体的なデータとロジックで紐解きます。


1. 「技術的負債」を放置した未来:具体的なビジネスリスク

「今は忙しいから、リファクタリングは後回し」。この判断を繰り返すと、ビジネスにはどのようなリスクが生じるのでしょうか? 一般的な感覚論ではなく、研究データに基づいた事実を見てみましょう。

リスク①:開発スピードの著しい低下(機会損失)

2022年に発表された論文『Code Red: The Business Impact of Code Quality』では、コード品質が開発速度に与える影響について示唆に富むデータを提示しています。

https://codescene.com/hubfs/web_docs/Business-impact-of-code-quality.pdf

  • 健康的なコード(Healthy Code)と比較して、品質の低いコードでは開発にかかる時間が平均で約2倍になる。
  • 最悪の場合、開発時間は最大で9倍に膨れ上がる。

これは経営視点で見れば、「競合他社が1ヶ月で出す機能を、自社は2ヶ月〜9ヶ月かけてリリースする」という意味になります。市場の変化が激しい現代において、このタイムラグは致命的な機会損失となります。

リスク②:品質低下によるブランド毀損

同じく『Code Red』の研究によれば、低品質なコードは高品質なコードに比べ、発生する不具合(バグ)の件数が15倍になることがわかっています。

バグの多発は、顧客からの信頼を失うだけでなく、開発チームが「新機能開発」ではなく「バグ修正」に忙殺される負のループを生み出します。

https://www.youtube.com/watch?v=8KgtgZBYQxA
NotebookLMによる動画解説: 論文『Code Red: The Business Impact of Code Quality』

リスク③:システム破産(機能開発の停止)

書籍『ソフトウェアアーキテクチャメトリクス』では、技術的負債と開発生産性の関係を以下のように示しています。

https://www.oreilly.co.jp/books/9784814400607/

ソフトウェアアーキテクチャメトリクス
技術的負債の発生と影響

  • 負債が蓄積するとアーキテクチャの侵食[1]が進み、単位時間あたりに実装できる機能数が減少する。
  • さらに負債が増え続け、一定の閾値を超えると、もはや機能開発は不可能になり、システムはリプレース(作り直し)対象となる。

これは金融における破産と同じ構造になります。リプレースには莫大なコストと期間がかかり、その間ビジネスは停滞します。

2. 改善活動は「利益率」と「予測可能性」への貢献

上記のデータからわかるように、リファクタリングやアーキテクチャ改善は、単にコードを綺麗にする作業ではありません。

「予測不可能な高コスト体質」から「低く安定した保守コスト」への転換を行う活動です。

  • 改善しない場合: コストが高くつき、予測不可能になる(いつバグが出るか、いつ開発が終わるかわからない)。
  • 改善する場合: コストが低く安定し、ビジネス計画が立てやすくなる。

つまり、アーキテクチャ改善とは将来の開発スピードと品質を前払いで買う行為であり、中長期的には原価低減(利益率向上)に直結することを意味します。

3. エンジニアの言葉を「経営指標」に翻訳する

改善活動の必要性を経営層に伝えるには、技術用語をビジネス価値(経営指標)に翻訳する必要があります。

エンジニアの言葉 経営層への翻訳(ビジネス価値)
リファクタリング 原価低減とTime-to-Market短縮: 開発時間を半減させ、市場投入速度を加速させる。
マイクロサービス化 組織の拡張性(スケーラビリティ)確保: 巨大な組織でも各チームが独立して意思決定・リリースできる状態を作り、組織拡大による速度低下を防ぐ。
テスト自動化/CI/CD リスク管理とブランド保護: 不具合発生率を1/15に抑え、ダウンタイムによる損失や顧客離れを防ぐ。
レガシー刷新 採用競争力の強化: モダンな環境は優秀なエンジニアを惹きつけ、採用コストを下げる。

4. スタートアップの成長フェーズ別:技術的負債との付き合い方

それでは、この記事の核でもある「いつ、どのくらい投資すべきか」という問いに答えるため、スタートアップの成長フェーズ(ラウンド)別の判断基準の例を記載してみます。技術的負債の許容度は、企業の生存確率市場適合性(PMF)の確度によって柔軟な判断が必要となるのではと思います。

技術的負債の許容度を決めるプリンシプル

技術的負債は悪ではなく「時間」を前借りする手段として捉えることができます。その利子(開発速度の低下)が、借りた時間で得られた利益(市場占有やPMF)に見合うかどうかが判断基準とすると良さそうです。

フェーズ 最優先事項 技術的負債の許容度 改善への投資比率 (目安) 経営判断の焦点
シード/アーリー PMFの検証・生存 最大 Feature : Improvement = 9:1 〜 10:0 市場での失敗よりも、技術的負債による開発の遅延を許容する
シリーズA/B スケール・持続性 中〜低 Feature : Improvement = 7:3 〜 8:2 技術的負債の「利子」が、機能による売上増加を上回り始める前に返済を始める
レイター(C以降) 安定性・効率・セキュリティ 最小 Feature : Improvement = 6:4 またはそれ以上 大規模リプレースなど、予測可能な長期的な安定を最優先する

フェーズごとの具体的な戦略

① シード・アーリーステージ:PMF(プロダクト・マーケット・フィット)の確立

このフェーズの最大の敵は市場からの撤退と考えてみます。

  • 取るべきリスク: 技術的な美しさや完全性よりも、市場への超高速リリースを優先し、PMFの検証に役立たないコードは最小限に抑えます。技術的負債を意図的に作り、超高速で検証を進めると良さそうです。
  • 投資判断: システムは「PMF達成までの使い捨て」を許容し、リソースを改善に割くのは市場検証が遅延し始めた時のみに限定できそうです。

② シリーズA/Bステージ:スケールと成長の確立

PMFが確認され、組織とユーザー数が急拡大するフェーズです。

  • 取るべきリスク: 組織の拡大に伴う速度の低下品質の不安定化が顕在化し、負債の利子(バグ修正やデプロイの複雑化)が、新しい機能開発による利益を上回り始める傾向がある時期です。
  • 投資判断: 開発リソースの20〜30%を恒久的な改善(技術的負債の返済、CI/CDの整備、マイクロサービス化の検討)に割り当て、エンジニアリング組織の出力維持のための投資や、改善チーム(Platform/SREなど)の立ち上げなどを検討すると良さそうです。

③ レイターステージ(シリーズC以降):安定と効率の追求

事業が安定し、顧客やパートナーに対する「信頼性」が最も重要な資産となるフェーズです。

  • 取るべきリスク: 予期せぬシステムダウンセキュリティインシデントによるブランドと事業の毀損があげられます。
  • 投資判断: 負債の返済はより必須に近い要件となり、短期的な機能開発の優先度を下げてでも、大規模なアーキテクチャ刷新(リプレース)やセキュリティ基準の厳格化を、計画的に進める施策が重要となりそうです。

5. AI時代における「コード品質」の真価

最後に、AIとコード品質の関係についても言及できればと思います。

「AI導入が進めば、コードは全てAIが書くことになる。もはや人間が気にする『品質』など不要になるのではないか?」

そう考える方もいるかもしれませんが、生成AIの台頭こそがアーキテクチャ改善の緊急度を高めるという考え方があります。 多くの企業が「AIによる開発効率化」を掲げていますが、そこには大きな落とし穴があります。それは、AIは、既存のコードをお手本(コンテキスト)にしてコードを書くという事実です。

AI導入による当初の期待されていた速度向上効果が、わずか2ヶ月で完全に打ち消されることが実証された研究結果も存在します。その理由はコードの複雑さが大幅に増加したためです。

https://arxiv.org/pdf/2511.04427

alt text
NotebookLMによるインフォグラフィック: AIアシスタントの短期効果と品質低下

AIは「負債」すらも学習し、模倣する

Agentic Codingは、現在のプロジェクト内のコードを読み込み、そのパターンや構造を真似て新しいコードを提案します。 もし既存のコードが「スパゲッティ状態(複雑で解読困難)」であれば、AIはスパゲッティコードを書くのが正解(作法)であると判断する可能性が高くなります。その結果、忠実に、そして高速に低品質なコードを量産し始めます。

  • 良いアーキテクチャ × AI = 生み出す価値が数倍になる(良質な機能が高速で実装される)

  • 悪いアーキテクチャ × AI = 技術的負債の蓄積速度が数倍になる(バグの温床が高速で拡大する)

AIは、私たちの開発組織の状態をそのまま映し出し、増幅させる鏡なのです。

結論:リファクタリングはAI活用の土壌づくり

これからの時代、きれいなアーキテクチャと整ったコード規約は、単に人間が読みやすくするためだけのものではありません。AIが良質なコンテキストという栄養を吸収し、最高の成果を実らせるための「豊かな土壌」と捉えることができそうです

「AIを使って開発コストを下げたい」と本気で考えるのであれば、まずAIが正しく走れるように、足元のアーキテクチャを整える投資が不可欠です。

Luup のAI 活用事例についてご興味のある方は以下の記事をご参照ください。

https://zenn.dev/luup_developers/articles/server-yasumoto-20250909

おわりに:システムは「資産」であり「生き物」である

家を建てたら定期的にメンテナンスするように、車に乗れば車検を通すように、ソフトウェアもメンテナンスが必要です。
「何もしていないのに壊れた」のではなく、何もしていないから(老朽化して)壊れるリスクが高くなります

アーキテクチャ改善への投資は、単なるコストではなく、変化の激しい市場において競合他社よりも速く動き(開発時間短縮)、顧客に価値を届け続ける(バグ抑制)ための企業の基礎体力作りそのものと考えることができます。

技術的な改善を「現場の課題」から「経営の重要アジェンダ」へと昇華させていきましょう。

Luupでは、こうしたプロダクト・事業目線でアーキテクチャの改善や、マイクロサービスの設計に興味があるエンジニアを募集しています!

[LUUP 採用情報ページリンク]


脚注
  1. アーキテクチャの侵食 (Architecture Erosion): ソフトウェアシステムの設計が時間とともに当初の意図や設計原則から逸脱し、最終的にシステム全体の構造的完全性が損なわれる現象のこと。 ↩︎

Luup Developers Blog

Discussion