Software Engineering at Googleの2章を読んだ
の続編
3. Knowledge Sharing
知識を組織でどうやって共有していくかという話
・知識を共有するために課題になること
心理的安全性
情報アイランド;情報が分離されること
単一障害点:一人の人がボトルネックになること
all or nothing:上と似てるけど特定の人が全部知っていて他の人は何もしらない
物真似:理由は知らんが真似ること
Haunted Graveyard:恐怖で変更の行動を恐れること
・ドキュメント
ドキュメントはスケールが効く点で有利
ただし、個々人の状況には最適ではないという問題点がある
1on1のコミュニケーションはスケールしないが引き続き有用
またcodelabは初心者の取っ掛かりには良い手法
ただし、これも個々人の状況には最適にするのは難しい。
・心理的安全性
質問を適切な方向に向ける
質問をした人が学ぶ意図を手助けをする
反応は親切にやる
解決を見つけるために議論する
・学ぶこと
いつでも学べる環境に自分自身をおくべき
知らない分野に恐れて質問しないよりも、質問する機会を持とう
・コンテキストを理解しよう
知らないコードをみてクソコードと言わずに
なぜこうなってるかコンテキストを理解する。
特にデザインパターンに乗っ取っていない等は別に悪くはない
コンテキストを理解してから修正する
コンテキストが理解できない場合はドキュメントを残そう
・Developer Guide
初心者に渡すことで説明する時間を省略できる
・コードレビュー
Googleは社員の1〜2%がボランティアでレビューしたり
新入社員に対してつきっきりでレビューしたりする
コードレビューは短期的には時間がかかるが
長期的にはコードの品質を保つことができるのメリットは大きい
基本的にはドキュメントがスケールするので良いかなと思いつつ
1on1コミュニケーションやコードレビューで草の根活動していく
これで組織としてスケールさせていくんだなぁと思いました
最近コードレビューが雑になりつつあるんで
Google見習って強い意識でやっていこうと思いました
まだまだ続くよ
関連記事:
- Software Engineering at Googleの7章を読んだ
- Software Engineering at Googleの4章を読んだ
- Software Engineering at Googleの9章を読んだ