こちらです。
https://www.amazon.co.jp/dp/4873118565
まだ発売前ですが、会社でオライリーの定期購読をしているのではやめに入手。わずか200ページですが深い話でした。ソフトウェアシステムを構築/設計する人であればおすすめです。
簡単なまとめ
ポイントとなるのは適応度関数(Fitness Function)という概念。
システムが目的をどれだけ達成しているか?という指標を適応度関数という形で表現します。
どういう形で実装するかは本を読んでもらうとして、ちょっとずれるかもしれませんが、ソシャゲ開発者が課金額やMAU/DAUを指標としているように、システム改善のための指標を計測可能な形でつくるという考え方は良いと思いました。
その指標を追えるように、システムは変更がしやすい形につくられる必要があり、そうでないシステムであればどのようにすればよいか? という点が簡潔に書いています。アジャイル開発、継続的デリバリーなどのここ10年くらいの技術をうまくつかった考え方だとおもいました。
ただ、これ読んだから、すぐ素敵なシステムがつくれるかというとそんなことはないので、精進が必要です。
面白い言葉
この本で知った面白い言葉がいくつかあったのでメモしておきます。
逆コンウェイの法則
「システム構造は、設計する組織の形に従う」
というのがコンウェイの法則ですが、逆とついているのは、
「システム構造のための組織をつくる」
ということで、おもしろかったです。2 pizzaチームなど実際に実践している組織もありますね。
ホリスティック(holistic)
全体論的なという意味です。反対語でアトミック(atomic)が使われていました。単一の特性ではなく、現実的で複合的な特性を適用度関数として定義するという文脈で利用されています。単に単語しらなかっただけです。すいません。
スノーフレーク(snow flake)
雪の結晶ではなく、複数のサーバが手作業でそれぞれ微妙に違う設定になってる状態をいうということでした。
雪は遠くからみると一様ですが、顕微鏡でみると、まったく別の形になってるというところから来ているということで、言い得て妙です。
最後に心に響いた言葉をひとつ
「手作業による成果物に執着して不合理になってはならない」
心に刺さる。これを書いた人は真摯にシステム開発にむきあってきたんだろうなと思う本でした。
ちなみに学んだことの1/10くらいしか書いてないので、気になる方は読んでみるとよいかとおもいます。
ではでは。