「システムが重い」のは技術の問題ではなかった — 実案件から学ぶコンウェイの法則の現実

。
では、さっそくはじめていきましょう!
はじめに:あなたの現場にも、この「重さ」はないか
「なぜこんなに遅いのか」— 誰もが経験する、システムへの違和感
「このページ、なんでこんなに遅いんだろう」
システムの開発や運用に携わる現場で働いていれば、一度はこのような疑問を口にしたことがあるのではないでしょうか。あるいは、経営会議でユーザーからのクレームとして報告を受けたことがあるかもしれません。レスポンスが遅い。バグの修正に何週間もかかる。ちょっとした機能追加のはずが、いつの間にか大規模なプロジェクトになっている。
こうした「重さ」を感じているのは、あなたの現場だけではありません。
独立行政法人情報処理推進機構(IPA)が発表した「DX白書2023」によると、日本企業のシステム運用・保守にかかるIT予算の比率は平均73%に達しており、新規開発に投じられる予算は全体の3割にも満たない状況です。
多くの企業が「守り」のITに追われ、本来注力すべき「攻め」のデジタル投資に踏み込めていないのが現実です。
では、この「重さ」の正体は一体何なのでしょうか。
多くの現場では、まずサーバーのスペック不足を疑います。クラウドのインスタンスタイプを上げ、データベースのインデックスを見直し、キャッシュを導入します。確かにそれで一時的に改善することもあります。
しかし、しばらくすると同じ問題が再発する。あるいは別の箇所が新たに「重く」なる。そのイタチごっこに疲弊した技術チームが、やがてこう言い始めます。
「このシステム、根本から作り直さないと無理です」
しかし、本当にそうなのでしょうか。
技術チームが疲弊し続ける現場の構造
システムの「重さ」に苦しむ現場には、共通した疲弊の構造があります。
まず、エンジニアは技術的な改善に集中しようとします。コードの最適化、クエリの改善、アーキテクチャの見直し。これは正しい判断であり、やるべきタスクで間違いありません。
しかし、作業を進めるたびに「それって、○○部の承認が必要じゃないですか」「あのモジュールは別チームが管轄しています」という壁に当たります。
シンプルな修正一つが、なぜか複数の部門をまたぐ調整事項になってしまう・・・
会議が会議を呼び、チケットがチケットを積み重ね、気がつけば1ヶ月が経過している。そしてリリースしてみると、今度は別の部門が管轄するモジュールとの連携部分で予期せぬ不具合が発生する。
この「調整コスト」こそが、実は最大のボトルネックになっていることが少なくありません。
海外のリサーチ大手が毎年発表しているレポートでは、高パフォーマンスな開発組織と低パフォーマンスな開発組織を比較した場合、変更のリードタイム(コード変更からリリースまでの時間)に最大200倍の差が生じると報告されています。
この差を生み出しているのは、技術力の差でも、使用しているツールの差でもありません。組織の構造と、チーム間のコミュニケーション設計の差です。
技術チームは決してサボっているわけではありません。むしろ誰もが一生懸命に働いています。それでもシステムが「重い」まま改善しないとすれば、問題はコードの外にあると疑うべきです。
この記事で伝えること:原因は「コード」の外にあった
本記事では、「コンウェイの法則」という1960年代に提唱された概念を軸に、システムの「重さ」の本当の原因を解き明かしていきます。
コンウェイの法則とは、一言で言えば「システムの構造は、それを作った組織の構造を映し出す」という原則です。

上の図(組織構造とシステム構造の写像関係)をご覧ください。営業部門、在庫管理部門、物流部門、経理部門という縦割り組織があれば、システムもまた受注モジュール、在庫管理モジュール、配送管理モジュール、会計処理モジュールというかたちで分断される。これがコンウェイの法則が示す現実です。
この法則を知ることで、以下のような問いへの答えが見えてきます。
なぜインフラを増強してもパフォーマンスが改善しないのか。なぜマイクロサービスに移行したのに開発速度が上がらないのか。なぜ優秀なエンジニアを採用してもシステムの課題が解消しないのか。
次回の記事では、実際の案件から得られた知見をもとに具体的な事例を紹介するとともに、「逆コンウェイ戦略」と呼ばれる実践的な処方箋もご提案します。エンジニアの方はもちろん、開発部門のマネージャーや経営層の方にも、ぜひ最後まで読んでいただきたい内容です。
また、「コンウェイの罠 — 診断チェックリスト」(上図参照)をご用意しました。3項目以上に該当する場合、貴社のシステム課題は技術ではなく組織設計に起因している可能性が高いといえます。ぜひ現状の確認にお役立てください。

解説記事「「システムが重い」のは技術の問題ではなかった — 実案件から学ぶコンウェイの法則の現実」の続きは
現在準備中です。
公開までお待ちください。
APPSWINGBYは、最先端の技術の活用と、お客様のビジネスに最適な形で実装する専門知識を有しております。AI開発から既存の業務システムへの統合などの他、リファクタリング、リアーキテクチャ、DevOps環境の構築、ハイブリッドクラウド環境の構築、システムアーキテクチャの再設計からソースコードに潜むセキュリティ脆弱性の改修の他、テクノロジーコンサルティングサービスなど提供しています。
貴社のセキュリティ対策等についてご相談されたい方は、お問い合わせフォームからお気軽にご連絡ください。システムの専門家が、貴社の課題解決をサポートいたします。

システム開発にお困りではありませんか?
もしも今現在、
- どのように開発を依頼したらよいかわからない
- どのように開発を依頼したらよいかわからない
- 企画や要件定義の段階から依頼できるのか知りたい
- システム開発費用がどれくらいかかるのか知りたい
- 見積りがほしい
など、システム開発に関するご相談・ご依頼がございましたら、お気軽にご相談ください。APPSWINGBYでは、「アプリでお客様のビジネスを加速し、お客様とともにビジネスの成功と未来を形作ること」をミッションとしています。大手SIerやR&D部門で培った経験やノウハウ、高度な技術力でお客様の「やりたい」を実現します。
この記事を書いた人

株式会社APPSWINGBY マーケティング
APPSWINGBY(アップスイングバイ)は、アプリケーション開発事業を通して、お客様のビジネスの加速に貢献することを目指すITソリューションを提供する会社です。
ご支援業種
情報・通信、医療、製造、金融(銀行・証券・保険・決済)、メディア、流通・EC・運輸 など多数

株式会社APPSWINGBY マーケティング
APPSWINGBY(アップスイングバイ)は、アプリケーション開発事業を通して、お客様のビジネスの加速に貢献することを目指すITソリューションを提供する会社です。
ご支援業種
情報・通信、医療、製造、金融(銀行・証券・保険・決済)、メディア、流通・EC・運輸 など多数
監修

株式会社APPSWINGBY CTO 川嶋秀一
動画系スタートアップや東証プライム上場企業のR&D部門を経て、2019年5月より株式会社APPSWINGBY 取締役兼CTO。
Webシステム開発からアプリ開発、AI導入、リアーキテクチャ、リファクタリングプロジェクトまで幅広く携わる。
C, C++, C#, JavaScript, TypeScript, Go, Python, PHP, Java などに精通し、Vue.js, React, Angular, Flutterを活用した開発経験を持つ。
特にGoのシンプルさと高パフォーマンスを好み、マイクロサービス開発やリファクタリングに強みを持つ。
「レガシーと最新技術の橋渡し」をテーマに、エンジニアリングを通じて事業の成長を支えることに情熱を注いでいる。

株式会社APPSWINGBY CTO 川嶋秀一
動画系スタートアップや東証プライム上場企業のR&D部門を経て、2019年5月より株式会社APPSWINGBY 取締役兼CTO。
Webシステム開発からアプリ開発、AI導入、リアーキテクチャ、リファクタリングプロジェクトまで幅広く携わる。
C, C++, C#, JavaScript, TypeScript, Go, Python, PHP, Java などに精通し、Vue.js, React, Angular, Flutterを活用した開発経験を持つ。
特にGoのシンプルさと高パフォーマンスを好み、マイクロサービス開発やリファクタリングに強みを持つ。
「レガシーと最新技術の橋渡し」をテーマに、エンジニアリングを通じて事業の成長を支えることに情熱を注いでいる。