ソフトウェアが人を狂わせるという理論があります
概要
- ソフトウェア開発 が人々の感覚を狂わせる要因
- スピード・自由度・複雑性 が異常な行動を誘発
- 多くのソフトウェアは 実質的にスプレッドシート
- 終わりなき改善と 過剰な活動 が組織を消耗させる
- 本質は「道具作り」 であることの再認識が必要
ソフトウェアが人を狂わせる理由
- ソフトウェア開発環境 は、普通の人々のバランス感覚を失わせる土壌
- スピード、資金、複雑性、抽象性、自由度 の組み合わせが独特の副作用を生む
- 多くのソフトウェアは 単なるフォームやAPI、権限、計算、ワークフロー、データベース の組み合わせ
- 派手な技術用語やアーキテクチャ図を外せば 「実質スプレッドシート」 という現実
- それにも関わらず、開発プロセスは 普通の大人を「小悪党」化 させる傾向
変化への摩擦のなさとコストの不可視化
- ソフトウェアは アイデアから実装までの摩擦が非常に小さい
- 物理的な建築と違い、変更コストが 目に見えにくい 構造
- 変更のコストが 人の頭と複雑なシステム内に隠れる ため、軽視されやすい
- 「簡単な修正」が 静かに全体コストを積み上げる 現象
- 変更が本当に安い場合もあれば、 見かけ以上に大きな影響を及ぼす場合も多い
「できる」が「やるべき」に変わる危険性
- 「できる」ことが多すぎて 「やるべき」「なぜできていない」へと変質
- すべてが 緊急・戦略的・イデオロギー的 な意思決定に見えてしまう
- 「まだ終わっていない」という感覚が 常に付きまとう
- ソフトウェアには 「完成」の明確な定義がない ため、終わりなき改善ループに陥る
レバーを引き続ける組織の神経症化
- ソフトウェア組織は 「レバーだらけ」 の環境
- レバー(=変更可能な要素)が多すぎて 無意味な変更や活動が常態化
- 方向転換や改善が 正当化されやすい文化
- 本質的な必要性と「変えられるから変える」 の区別が曖昧化
お金と複雑性が狂気に拍車をかける
- 少人数で 巨額の価値創出が現実的 な産業構造
- 金銭的期待が日常的な判断を重くする 要因
- 複雑なシステムは 重要感・ステータス・自己実現 を与える心理的報酬
- 組織とシステムが 互いを維持・増殖させる自己強化ループ
コントロール幻想と「何でもデバッグ」症候群
- コードは 現実よりもコントロールしやすい という幻想
- ソフトウェア以外の課題も 「デバッグ」しようとする傾向
- 会社そのものを 「永遠に可変・未完成」なソフトウェアのように扱う 風潮
「触らない」技術の重要性
- 優れたエンジニアほど 「既存のものを触らない」 価値を理解
- フレームワークやオンボーディング、アーキテクチャは 頻繁な変更を必要としない場合が多い
- 顧客やエンジニア、ビジネス自体にも 「時間」が必要
- 忍耐力の欠如 が過剰な活動と再発明を招く
本質的な「バランス感覚」の必要性
- 「ゆっくり進め」というイデオロギー化も 本質的な解決ではない
- 重要でない問題やアイデアはスルーする勇気 が必要
- すべてをプラットフォーム化・ピボット化・最適化する必要はない
- 「便利な道具を作る」という原点回帰 が健全な開発文化の鍵
結論:本当に必要なことへの集中
- ソフトウェアの大半は 「実用的なスプレッドシート」 で十分
- 本質を見失わず、不要な手直しに時間を浪費しない 姿勢が大切
- 生活や仕事を楽にする道具作り こそがソフトウェア開発の原点