オーバーエンジニアリングは、私のお気に入りの先延ばし手段だった

このプロジェクトに猛烈に打ち込み、膨大なアウトプットを生み出し、そのすべてに素晴らしい手応えを感じていた時期がありました。それでいて、実質的な進捗はほとんどゼロだったのです。私は、システムの壮大な未来を設計していました。多数のパーツからなる広大なアーキテクチャ。互いに連携し、スケールし、いずれは自走するであろうコンポーネントたち。

唯一の問題は、それらすべてが土台とすべき基本的なものが、まだ動いていなかったことです。まったく、です。

村より先に帝国を築く

システムの核心、つまり他の何よりも先に成立させなければならない唯一の根本機能が、動いていませんでした。不安定で、半分壊れていて、私の修正の試みを頑なに撥ねつけていました。

そこで私は、ごく自然に、その上に載るはずの層へと注意を向けました。各パーツがどう対話し合うか。今はその一部すらこなせていないものを、はるかに大きくこなせるようどう拡張するか。完成後にどう自分でデプロイし、自分を更新していくか。要するに私は、まだ製品も存在しない会社の詳細な組織図を描いていたのです。唯一の核心機能が動かない企業の、管理構造を計画していたのです。

なぜオーバーエンジニアリングはこんなにも気持ちいいのか

なぜこれがこれほど魅力的だったのか、正直に語りたいと思います。なぜなら、その魅力こそが罠そのものだからです。未来のアーキテクチャを設計することは、純粋で摩擦のない快楽です。睨み返してくる失敗するテストもなければ、死ぬのを拒む頑固なバグもなく、計画に抗ってくる現実もありません。そこにあるのは、あなたと、すべてが完璧に噛み合う清潔な脳内ダイアグラムだけ。なぜなら、その中の何ひとつとして、実際に動かすことを強いられていないからです。

それが最も生産的な種類の仕事のように感じられるのは、まさにそれが抵抗のない種類の仕事だからです。そして抵抗のなさは、進捗のように感じられます。自分が実は一歩も動いていないと気づく、その瞬間まで。

それの正直な名前は「回避」

美辞麗句を剥ぎ取ったその実体は、回避でした。核心の問題、つまり基本的なものを動かすことは、難しく、もどかしく、本当に不確かでした。解けるのかどうか自分でもわからず、試みるたびにその不確かさを顔に擦りつけられました。対照的に、壮大なアーキテクチャは易しく、果てしなく満足を与えてくれました。そこでは常に進捗を出せました。なぜなら「進捗」とは、ダイアグラムにもう一つ整然とした箱を足すことだけを意味していたからです。

こうして私は、難しく現実的な問題から、心地よく架空の問題へと逃げ続け、その逃避にもっともらしい名前を与えました。私はそれを「設計」と呼んだのです。

兆候: まだ持ってもいない問題を解いていた

長いあいだ無視していた明白なサインがありました。私が設計していた手の込んだパーツはどれも、基本システムが動いて初めて存在する問題を解いていたのです。連携が意味を持つのは、パーツが機能してこそ。スケールが意味を持つのは、スケールする価値のあるものがあってこそ。自己デプロイが意味を持つのは、デプロイすべき完成物があってこそ。私は、自分のプロジェクトがまだ問う資格を得ていない問いに、丁寧な答えを用意していたのです。

まだ実際には持っていない問題を解いている自分に気づいたとき、その代わりにどの問題を回避しているのかを問うてみる価値があります。

コストは、浪費した時間より悪かった

被害は、架空のインフラに注ぎ込んだ時間だけにとどまりませんでした。私が設計した手の込んだ構造は、一種の檻になったのです。その壮大な形にいったんコミットしてしまうと、現実の問題が本当に必要としていた単純で直接的な修正が、動かないシステムの周りに私が早すぎるタイミングで巻きつけたアーキテクチャをすべて掻き分けて進まなければなりませんでした。私は存在しない建物のために足場を組み、そして土台を据え始めることすらできるようになる前に、その足場を撤去しなければならなかったのです。

早すぎる構造は、努力を無駄にするだけではありません。それが奉仕するはずだった当のものを、積極的に縛りかねないのです。そして手が込んでいればいるほど、いずれ加えなければならない小さく正直な変更を、ますます強く撥ねつけます。

解決策: 次の層を「勝ち取る」

最終的に助けになったのは、ほとんど気恥ずかしくなるほど無遠慮な一つのルールでした。下の層が実際に動くまで、上の層を作る権利は得られない。「設計済み」ではダメ。「計画済み」でもダメ。動くこと、です。スケール、連携、自動化、これらは、現実に存在しスケールする価値のあるものを持つことで勝ち取る報酬であって、何か本格的なものを作っている気分になるために前もって付け足す飾りではありません。

私は架空の帝国のほとんどを取り壊しました。結局のところ、これほど手の込んだやり方で回避し続けてきた、たった一つの難しい問題と二人きりで残されたことは、むしろ救いでした。

より深い教訓: 心地よさは警告かもしれない

ここから得た最も居心地の悪い学びは、心地よさそのものへの疑念です。仕事が純粋に気持ちよく感じられるとき、つまり摩擦がなく、満足を与え、失敗もなければノーを突きつける現実もないとき、あなたは本当の問題からそっと舵を切り、それと同じものに感じられるだけの、より易しく架空の問題へと向かってしまっている可能性が十分にあります。

難しい問題は押し返してきます。それが本物だとわかる手がかりの一つです。だから今では、ものづくりが妙に心地よく感じられ始めたら、私はその心地よさを報酬ではなく問いとして扱うようにしています。これほど楽しんでいることによって、自分はどんな難しく、抵抗があり、本当に重要なものを回避しているのか、と。

— シグナルもリターンも提供しません。投資助言ではありません。