🤖

エピローグ — 世界観を持ったエンジニアリングへ

に公開

エピローグ — 世界観を持ったエンジニアリングへ


分散システムの本を書くとき、最初に出てくる誘惑のひとつは

「一番かっこいいアルゴリズムから語りたい」

だと思います

新しいコンセンサスアルゴリズム、
スケールするキューイング、
きれいなイベントスキーマ

でも、本シリーズで延々とやってきたのは、むしろ逆でした

  • 「どのアルゴリズムを使うか」より前に
  • 「それはどの世界で使うのか?」を決める

という話ばかりです


1. 「世界観」を持つ、という話

このシリーズのタイトルに Worlds を入れたのは、技術本というより

分散システムに対する「世界観」をインストールしたい

という意図が大きかったからです

  • コードを書くとき
  • API を設計するとき
  • アラートを設定するとき
  • 利用規約を書き換えるとき
  • インシデントに対応するとき

それぞれの瞬間に、頭の片隅で

「いま自分は、どの world のことをいじっているんだろう?」

と一瞬だけ考えてもらえたら、このシリーズの役目の半分は終わりです


2. 「正しい答え」ではなく「正しい問い」を

RML-1/2/3 というラベルも、
Runbook / Playbook も、
Effect Ledger も、事件簿テンプレも

どれも「こうしなさい」という意味で出しているわけではありません

  • 会社によって
  • ドメインによって
  • 法制度によって
  • チームのスキルセットによって

最適解はまるっと変わります

この本が提供できるのは、せいぜい

「これを一度は検討してみた方がいい」という問いの形

くらいです

  • 「この機能、本当に RML-2 止まりでいいんだっけ?」
  • 「このインシデント、History World に載せておかなくて大丈夫?」
  • 「この ToS の文言、エンジニアチームは理解した上で設計してる?」

といった問いが、日々のレビューや雑談の中にひょいっと紛れ込んでくれたら、それだけでこのシリーズの価値は十分だと思っています


3. それでも現場は「とりあえず動かす」が必要で

もちろん、現実の現場では

  • まず PoC を出さないと会話が始まらない
  • 売上を作らないと組織が持たない
  • きれいな設計より、とりあえずのパッチが必要な瞬間もある

というのも、痛いほど分かります

RML の話は、そういう現実に対して

「だから構造とか世界観とか考える暇なんてないんだよね」

と否定するものではなく、

「とりあえず動かすなら、どの世界を犠牲にしてるのかだけは自覚しておこう」

という小さな提案です

  • RML-1 に閉じ込めて動かしているのか
  • RML-2 まで影響が広がっているのか
  • もはや RML-3 まで踏み込んでしまっているのか

この自覚があるとないとでは、「やらかしたとき」のダメージと学び方が、かなり変わります


4. あなたの現場バージョンの RML を作ってほしい

本の中では、便宜上

  • RML-1 / RML-2 / RML-3
  • History World / Dialog World / Closed World

というラベルを使ってきましたが、
別に名前はなんでも構いません

  • Level A / B / C でもいいし
  • World α / β / γ でもいいし
  • もっとドメインに合う名前(「社内世界 / 顧客世界 / 社会世界」とか)でもいい

大事なのは、

「自分たちのプロダクトと組織にぴったりくる世界観の言葉を持つ」

ことです

この本の内容を、そのまま持ち込む必要はありません

  • いくつかの概念を削ってもいいし
  • 別の世界を足してもいいし
  • 章ごとに好きなところだけつまみ食いしてもいい

むしろ 「自分たちなりの Worlds of Distributed Systems」を作ることが、本当のゴールです


5. これから書き足される「第12章」以降

本としての章立ては、第11章で終わりですが、
実際にはここからが本番です

  • どこかの会社の設計ドキュメントの中に、
  • どこかのインシデントレポートの片隅に、
  • どこかのワークショップのホワイトボードに、

RML だったり、
History World だったり、
Runbook / Playbook のテーブルだったりが、
少しずつ姿を変えて再登場してくれたら嬉しいです

その一つひとつが、
あなたの現場にとっての「第12章」「第13章」になるはずです


6. 最後に

長いテキストにここまで付き合ってくれたあなたは、おそらく、

  • 分散システムの細かい挙動だけでなく、
  • その裏にある「責任」や「歴史」や「組織」の話まで気にしてしまうタイプ

だと思います(いい意味で)

そんな人がひとりでも多くいる現場は、たぶん、世界観のある良いシステムに育っていきます

この本が、その「ちょっと気にしてしまう視点」を少しだけ言語化する役に立っていたら、著者としては本望です

それでは、あなたの現場の Worlds of Distributed Systems が、 いい感じに育っていきますように

Discussion