My Book of the year 2023

今年読んだ本の中から良かった本をまとめ。

自分向けの棚卸しとしてやっているんだけど、4年ぶりになってしまった。

fkrsrn1122.hatenablog.com

小説

プロジェクトヘイルメアリー

なんというSFだ!

人類滅亡の危機を救うために地球を飛び立ったヘイルメアリー号の中と、プロジェクトの立ち上げ時の記憶が同時に断片的に描かれて進行する。 挑戦、希望、絶望、出会い、友情、別れ。読み進む度に多種多様なドキドキ感が襲ってくる。

映画化が決まっているらしいがそりゃそうだろう。どんな映像になるのかわからないが、想像力を掻き立てる文章で読んでよかったかもしれない。

ソフトウェア

読みやすいコードのガイドライン

プログラミングする上で読みやすいコードを書くことはとても重要だ。なぜならプログラミングは書く以上に読む機会が多いから、読まれることを意識して書く必要があるるのだ。そして読みやすさを追求すると、良いアーキテクチャにもなる。

本書はそういったことをわかりやすく教えてくれる本。「リーダブルコード」よりも、もっとソフトウェアのアーキテクチャや実装、構造に踏み込んだ内容になっている。

良いコード/悪いコード

良いコードを書くという点において、こちらの書も近いテーマを扱っているが、本書は設計そのものやコード上のテクニックに加え、設計の方法論、メンタリティ、コミュニケーションなど幅広く語られている。

上に挙げた3冊はいずれも、重要なテーマを読みやすく説明した、素晴らしい本で、自分が若いときにはこういったものは多くなかった。 今の若者は幸せだな。

セキュア・バイ・デザイン

ソフトウェアのセキュリティは、デザインの時点から考慮しなければならず、この本はそれをドメイン駆動設計の観点から解決しようという本。 ドメイン駆動設計の全体を理解しなかったとしても、一部の考え方を取り入れるだけで結構良い実装になるんじゃないかなと思いました。

社会

ケーキの切れない非行少年たち

犯罪に手を染めてしまう少年は、認知能力が著しく低く、ケーキすらまともに切れないという衝撃的な内容の本。

ファスト教養

世の中はどんどん単純化された直接的なものを求めるようになっているが、それはもう「教養」にすら及んでいるが、それでは物事の本質にたどり着けないよと、警鐘を鳴らす本。

自分が本を読む理由ってなんだろうとふと思うことがあるが、本書を読んで少し腑に落ちた部分がある。 学ぶということは、動揺を沈め、自由になることだと。

著者が自分と同年代だし、興味にも共通点があり(サッカーの話とか)本書内に登場する例がとても耳に入ってきやすかった。

「NO HARD WORK!」

NO HARD WORK!

最初にまとめ

こりゃすごい会社だわ。確かにこういう会社があっても良いと思う。サラリーマンとして、ちょっと憧れてしまう素晴らしい文化だと思う。 でも、おそらく相当優秀でかつモラルの高い人達だけが入れるような会社なのだろうなと。そうでない人たちの集団では成立しないのではないかと思います。

あと、こういう会社を目指して失敗した人たちが、世の中にはそこそこあるのではなかなと思う。

全体的な感想としてはそんな感じではあるけど、頑張りすぎてはいけないという点については参考にスべきものがあった。

会社について

  • Calmであることが重要
  • 目標は作らない
  • 会社に長期計画を作らず、6週間ごとに計画を決める
  • 社員のカレンダーを共有しない
  • 給料の交渉はない
  • 週40時間労働、夏は週休3日にして32時間
  • 休暇の旅行費用を最大5千ドルまで会社が負担

プロダクトについて

  • 新しいバージョンをリリースするときも古いバージョンを維持し、ユーザーに選ばせる
  • 利用料を上げる時でも、既存のユーザーに対しては古い利用料で使い続けることができるようにした

働き方について

  • チームは3人がベスト
  • Noを正しく使うべき。そうでないと損をする。

「スクラム現場ガイド」

スクラム現場ガイド

最初にまとめ

スクラムを導入したときに、まさに現場でぶち当たる問題とその対処方法が紹介されている。そういう意味では中級者〜上級者向けの本だと思う。

いくつかの本でスクラム開発は「守破離」が肝だと解説されているが、その「破」や「離」にあたるさまざまな応用的なテクニックが紹介されていて、ぜひとも取り入れたいと思った。

Part1 準備

第3章

コアチームメンバーとチームコンサルタント

コアチームメンバー:1つのプロジェクトに、フルタイムでコミットするメンバーで、機能横断的な役割を担う

チームコンサルタント: 複数のプロジェクトにまたがって専門的な領域を担当する。

コアチームメンバーというのはなかなかおもしろいというか、現実にもこういった、あの人のあのスキルがほしいな、という時はある。なんとなく理想論のように聞こえるけど、多分そうではない。ただ実際に導入する場合にはいくつか制限の中で運用することになる。 複数プロジェクトに関与するということは、

  • ある特定の問題を解決する
  • あるスプリントだけ、時間を決めて参加する

というような働き方になるので、あまり時間が求められるようなシーンでは難しくなりそう。

  • 比較的やることがはっきりしていて、いつまでにコレをお願い、と言えるようなタスクに向いているかも
  • 時間や内容次第では、コアチームメンバーとペアワークするだけでも良さそう

スクラムイベントには基本的に参加してもらうので、そういう点でのオーバーヘッドは出てきそう。あと、チームコンサルタントが毎回使う時間が違うので、チームとしてのベロシティの実績値にも影響がでるかもな。

第4章 ベロシティの計測

基準ストーリーから近似値を得る

基準とするタスクを分解し、それぞれ作業時間を予測して、合計時間をポイントにする。3つくらいのストーリーで行えばもう少し正確になりそう。

チームの稼働時間

一週間あたりに使える時間をどれだけとするか、チームの稼働時間をメンバーごとに最大時間、最低時間を決める。 しかし、これだと人のスキルとか習熟度によって結構違うんだよなと。

このあたり、初回のベロシティを”わからないなりに見積もる方法”についてこうやって書いた本は、これまで読んだものの中にはなかったが、やってみる価値はありそうだなと思った。

第5章 スクラムの役割

プロダクトオーナー・スクラムマスター・チームメンバーを兼任してはいけない。 当然だけど。当然だけどね。。

第8章 専任スクラムマスターの利点

  • 障害を取り除く、問題を解消する
  • 争いや言い合いを収める
  • チームの心のケア
  • パフォーマンスの報告
  • 各イベントにおけるファシリテーター
  • 必要なら手伝う(それ専任じゃないじゃん)

これまでどの本をみても「障害を取り除く」について抽象的な書き方しかされてなかったけど、それはなぜなら、とにかくチームのアウトプットを低下させる「すべて」が対象であるからなんですね。本書には少し例が書かれていました。ミーティングに遅刻する人の対応、他チームとの折衝、メンバーの病気による離脱、マネジメントとうまくやる、などなど。

第2部 現場の基本

第9章 エンジニアリングプラクティスにおける重要性

前述の話と合わせると、スクラムマスターとかチームコンサルタントのメンバーがペアプログラミングに参加するのは良いかもしれない。 スクラムマスターはリーダー的な立場の人になることが多いし、チームコンサルタントはその分野の熟練者を育てるという目的を達成できる。

第11章 リリースプランニング

  • 完全な機能の一覧と完成日を両方決めてしまうのは無責任である

プロダクトオーナーは、どちらか一方を固定し、状況に合わせて調整するべきだと。両方を固定してしまうと、多分開発チームは保守的な見積もりをすることになり、みんなが損をする。

良いスクラムチームは、完成日に、最小の予想と最大の予想の間のどこかに落ちるようにリリースすることになる。

第16章 ふりかえり

  • プロダクトオーナーは参加しないほうが良い
  • ふりかえりの内容は参加者以外見えない形に保存しておくのがよい

なるほど、可能な限り正直なコメントを言える場にすることを重視するということですね。スクラム開発の効率を上げるのが目的なので、変な気遣いをスべきでないと。だとすると、場合によってはメンバーを絞るセッションもあったほうが良いかもしれない。例えば協力会社のメンバーを入れる場合と入れない場合とか。

ふりかえりは基本的にすべての人が参加すべき、というのが原則だと思うので、これは応用編あるいはオプション的なアイデアのように思う。守破離でいう「離」になるのかも。

  • クロージングでスプリントに点数をつけてもらう

不満があるがふりかえりの場でそれを言えなかった人をあぶり出し、なにか問題がないか、ミーティングのあと個人的に質問する。特に日本の文化にこれは合いそうだと思った。

  • ふりかえりはスプリントに限らない

大きいリリースがあったあとや、顧客など複数のチームを巻き込んでおこなうなども有用。

第3部 救急処置                                                                                                                                                                                                                                                                                                                                                                                                                  

第18章 第4の質問

  • 「今回のスプリントゴールをチームで達成できる自信はどのくらいありますか?1〜10で答えてください」

一部のメンバーだけが気になっている細かい事象が後で発覚しないように、なるべく早く拾うための施策。あとは、自分の経験からだと、自分には危機感が結構ある一方で、他のメンバーがあまり危機感を感じてないみたいなことがあり、そういった状況を共有するのにも良いかもと思った。

第4部 上級サバイバルテクニック

第23章 維持可能なペース

  • イテレーションを短くし、バーンダウンチャートを監視し、だいたい85%くらいの力で働くようにコミットする

100%以上頑張っちゃいそうな日本人です。

29章 巨大なバックログの見積もりと優先順位付け

  • すべてのユーザーストーリーを壁に小さい順に並べて、ストーリーポイントが1,2,3,5,8... になる場所に線を引く。優先順位が大きいものは上に、小さいものは下に。

面白い。賢い。 出てきた数字を過信しないという前提でしっかり扱えば十分使えそうなテクニック。

あと、POがpriority付するときに理由を明確にしてもらうというのも重要。

「ザッポス伝説2.0」

ザッポス伝説2.0

最初にまとめ

顧客第一主義的にワオ!を生み出すことを理念としたザッポスという会社の思想に触れられる一冊。

サウスウエスト航空と企業文化がかなり似ているように思った。

ちなみにCEOのトニー・シェイってなくなってたのですね、、、良い意味ですごくCEOっぽくない活躍でたくさんの幸せを作った方でしたが、、ご冥福をお祈りします。

ザッポスのコアバリュー

  1. サービスを通してワオ!という驚きの体験を届ける
  2. 変化を受け入れ、変化を推進する
  3. 楽しさとちょっと変なものを創造する
  4. 冒険好きで、創造的で、オープンマインドであれ
  5. 成長と学びを追求する
  6. コミュニケーションにより、オープンで誠実な人間関係を築く
  7. ポジティブなチームとファミリー精神を気づく
  8. より少ないものから多くの成果を
  9. 情熱と強い意志を持て
  10. 謙虚であれ

意外と普通なものが並ぶ中、3の「楽しさとちょっと変なものを創造する」だけは面白いなと。 これを設立後7年経った2006年に導入して、価値観と合わない人は退職金を受け取って辞めたらしいです。

ダウンストリームインパク

サウスウエスト航空も含め、こういう顧客第一主義で、「ちょっとやりすぎなんじゃないか」と思わせるような会社が儲かっているのはなぜか?と疑問がわきますが、答えは本書の中にあります

問題を経験した人のほうが、継続して利用する傾向が見られることです。例えば、2017年のクリスマスに、注文に師匠が生じて返品した人や、私達が返金を申し出た人を追跡調査したところ、私達のサイトを再び訪れて、さらに多くの買い物をした人が、平均的な子役よりも多くいました。

まさに「損して得取れ」というというころでしょうか。しかも今はSNSの時代です。ワオを感じた人が、体験したことを美談として拡散してくれます。(自分の承認要求を得るため、というおまけ付きですが、拡散すると嬉しいという目的は一緒なので問題なし)つまり企業の「生涯ファン」になってしまう。仮にやりすぎと思える行為を投資と考えたとしても決して高くないと。

このように、何かしたら、12ヶ月後、18ヶ月後、更にその先に顧客はどのように振る舞うかを数値化したものを「ダウンストリームインパクト」と呼ぶそうです

ハーバードに入るより難しい会社

スタートアップと聞くと、例えばGAFAのように人の採用のハードルがかなり高くて、かなりのレベルの実力を求められるというイメージがあります。ザッポスもきっと同じような感じなのでしょうけど、本書を読み限り、基準が必ずしも実力や学歴ではなさそう。入社希望者の人間性がかなり重視されているように思いました。一言でいうと、「思いやりがあって、変化を起こしたいと思うひと」らしいです。

  • 経歴は関係ない
  • 大学に通ったことのない人が、電話オペレーターとして入社し、マネージャーを経て財務部門に異動したりする
  • 90日の社内インターン
  • バンドマンがコアバリューを歌う動画を撮って応募したら電話オペレーターとして採用され、ファンジニア(楽しさのエンジニア)に

などなど

ラクラシー

自己組織化するためのガイドラインとして、ホラクラシーという考え方をとりいれているらしいです。

  • 社員は複数の「サークル」に属し、複数のロールを担う
  • サークルのボスは「リードリンク」と呼ばれる
  • 民主主義的な意思決定
  • 殆どの決定はガバナンスの鎖を上位にたどる必要はない

面白いと思う一方、従来型の組織と本質的な違いはどこにあるのだろうか。それに、他のサークルと相反することをやったりとか、全く同じことをやったりとかしてしまいそうな気もするが、どのように管理されているのかな。 という疑問はおそらくコレを読めばかいてありそう。日本の(古い)企業文化にはすっげーなじまなそう。


本書は、エピソードを紹介する前に、社員の名前と一言紹介文のようなものがついているが、面白かったのを取り上げてみる

ホリーデラニー CHRO(最高人事責任者)

40歳で初めてタトゥーを入れた


ローレンベッカー コミュニティチーム

ザッポスに来る前は、ボートの底からフジツボを削り落とす仕事をしていたよ


ジョンバンチ 組織体制、CEOのアドバイザー

現在67歳。しょっちゅう頭をどこかにぶつけている

「インプット大全」

インプット大全

最初にまとめ

著者が実践しているいろいろなインプットの方法を紹介する本。 他人の勉強方法を学ぶのはおもしろい。 一番刺さったのはChapter1かな。

Chapter1 インプットの基本ルール

  • インプットは「量」より「質」を重視
  • 本当に必要な情報以外は捨てる勇気を

どちらも、わかっちゃいるけど難しい。

Chapter2 科学的に記憶に残る本の読み方

  • 読書は学びの最初のステップ
    • 本→動画→公演→1対1

最初のステップであるし、最初のステップでしかない。 言い換えると、本を読むだけではだめなんですね。アウトプットはもちろん、次のステップで更に学ぶことでより定着したり、実生活に活かすことができたりすると。

Chapter7 インプット力を飛躍させる方法(応用編)

  • 学びを欲張らない
    • 脳が一度に記憶して処理できる情報は3つまで

「素晴らしき哉、人生!」

素晴らしき哉、人生!

奇妙だろ?

ひとりの命は大勢の人生に影響し、 その人間が欠けると世界は一変する

-- クラレンス

人は他人と影響を与えあって、その集合で世界ができている。 だから絶望なんてしてはいけない。一生懸命生きることに価値がある。

また、利他的であれば、それはいつかかならず自分を助けてくれる。