Software Engineering at Googleの3章を読んだ

Software Engineering at Googleの2章を読んだ
の続編

3. Knowledge Sharing
知識を組織でどうやって共有していくかという話


・知識を共有するために課題になること
心理的安全性
情報アイランド;情報が分離されること
単一障害点:一人の人がボトルネックになること
all or nothing:上と似てるけど特定の人が全部知っていて他の人は何もしらない
物真似:理由は知らんが真似ること
Haunted Graveyard:恐怖で変更の行動を恐れること

 

・ドキュメント
ドキュメントはスケールが効く点で有利
ただし、個々人の状況には最適ではないという問題点がある
1on1のコミュニケーションはスケールしないが引き続き有用

またcodelabは初心者の取っ掛かりには良い手法
ただし、これも個々人の状況には最適にするのは難しい。

 

・心理的安全性
質問を適切な方向に向ける
質問をした人が学ぶ意図を手助けをする
反応は親切にやる
解決を見つけるために議論する

 

・学ぶこと
いつでも学べる環境に自分自身をおくべき
知らない分野に恐れて質問しないよりも、質問する機会を持とう

 

・コンテキストを理解しよう
知らないコードをみてクソコードと言わずに
なぜこうなってるかコンテキストを理解する。
特にデザインパターンに乗っ取っていない等は別に悪くはない

コンテキストを理解してから修正する
コンテキストが理解できない場合はドキュメントを残そう

 

・Developer Guide
初心者に渡すことで説明する時間を省略できる

 

・コードレビュー
Googleは社員の1〜2%がボランティアでレビューしたり
新入社員に対してつきっきりでレビューしたりする

コードレビューは短期的には時間がかかるが
長期的にはコードの品質を保つことができるのメリットは大きい

 

基本的にはドキュメントがスケールするので良いかなと思いつつ
1on1コミュニケーションやコードレビューで草の根活動していく
これで組織としてスケールさせていくんだなぁと思いました

最近コードレビューが雑になりつつあるんで
Google見習って強い意識でやっていこうと思いました
まだまだ続くよ

関連記事:

Pocket