イベント日:2026年8月13日

ダン・マッキンリーが2015年に発表した論考「Choose Boring Technology」が、ソフトウェアチームが不慣れなインフラをいつ採用すべきか判断するための枠組みとして再び注目されている。その中心的な比喩では、企業にはおよそ3枚の「イノベーショントークン」があるとされる。これは、その挙動や運用上の負担を組織がまだ把握していない技術に充てる、意図的に概算された予算である。

この主張は、古いものを良いものと同一視してはいない。マッキンリーは、能力と障害の起こり方が理解されている成熟したツールを、単に時代遅れだったり質が低かったりする技術と区別している。有用で「退屈な」選択肢の例として、MySQL、PostgreSQL、PHP、Python、Memcached、Squid、cronを挙げている。新しいデータベース、言語、サービスディスカバリー層も、特に企業の実際の製品の中核を成す場合には、なお正当化され得る。

コストが表面化するのは、局所的な選択が積み重なったときだ。ツールを追加すれば、その監視、テスト、運用、教育が必要になり、最初に採用した人が去った後も専門知識を維持しなければならない。そのため、ある限定的な作業には最適な技術でも、システム全体の運用を難しくする可能性がある。個々の仕事ごとに最善のツールを選ぶ代わりに、マッキンリーは、多くの問題に対して許容できる位置を占める、より少数のツール群を選ぶことを提案している。

システムは通常、最初に構築される時間よりもはるかに長く運用されるため、この計算では長期的な信頼性が支配的な要素となる。成熟したツールは、組織がすでにその障害の起こり方を知っているため、一部の未知のリスクを減らす。新しい技術には、既知の疑問点に加え、チームがまだ想像すらしていない障害条件も含まれる。この論考は、追加するものはすべて無料だと装うのではなく、そうした未知の要素を意識的な費用として扱うべきだと主張している。

マッキンリーは絶対主義者ではない。まず現在のスタックで問題をどう解決できるかを問い、その方法がなぜ実行不可能なほど難しいのかを書き出し、組織全体から見える形で追加について議論することを勧めている。新しいコンポーネントが既存のものと重複する場合、チームは両方の実装を無期限に残すのではなく、移行の工程表を確約すべきだとしている。

Etsyのアクティビティフィードの例は、その効果とされるものを示している。この機能は、より専門的な技術を追加するのではなく、同社が共有するPHP、MySQL、Memcached、Gearmanのプラットフォーム上に構築された。その後、共通プラットフォームの改善が同機能にも恩恵をもたらしたため、対象を絞った変更を加えることなく、以前の20倍の利用量を処理できた。一方、全文検索については、生のPHPにその処理を押し込むのは現実的でなかったため、EtsyはSolrを採用した。

この論考が長く伝え続けるメッセージは、停滞ではなく節度である。新しい技術は、使命を前進させる場合や、文書化された制約を解決する場合に投入すべきだ。使い慣れたインフラが十分であるなら、それによって、避けられる運用上の多様性にエンジニアリング上の注意を費やすのではなく、組織を際立たせる問題にその注意を振り向けられる。

この枠組みが最終的に投げかけるのは、技術的な問いであると同時に社会的な問いでもある。チーム全体は、どの新たな責任を何年にもわたって引き受ける用意があるのか、という問いだ。