エレガントパズル エンジニアのマネジメントという難問にあなたはどう立ち向かうのかを読みました

画像出典:UnsplashKseniaが撮影した写真

エレガントパズル エンジニアのマネジメントという難問にあなたはどう立ち向かうのかを読みました。

日本語版は2024年5月と2ヶ月前に発売されたばかりの本です。オリジナルの方は2019年5月と少し前です。

組織作りから、変化への対応、問題解決、文化形成、キャリアや採用について幅広く書かれていました。個人的には今の興味もあり、3章ツール:変化をマネジメントする手法4章アプローチ:問題解決につなげる、あたりは特にピックアップしておきたいところが多かったです。

まずチームのところは、マネージャーは6-8人のエンジニアを支援すべきというところで、これはやはり一般的な感覚でもあったりするかなと思いました。またトップダウンによる全体最適に対して、チームファーストに徹する、ゆとりを確保しスコープを変更していくという考え方は参考になりました。

3章では変化のマネジメントとして、戦略とビジョンの合意形成について述べられています。

戦略とは、特定の課題を解決するためのトレードオフと行動が記された、基盤となるドキュメント。ビジョンとは、密に協力していない個々人が整合性のある意思決定を下すことを可能にする、目指すべき理想を示すドキュメント。

いずれも文書化するというところがポイントで、その文書化の具体的な方法についても記載されています。

戦略の文書化

診断・基本方針・行動の3つの工程からなる。

診断は、目の前にある課題を説明する理論である。課題を定義する要因や制約を明らかにするものであり、その中心には突き詰めた問題に関するステートメント(声明、説明)がある。

基本方針は、課題に対処するために適用する方針を定めたものである。これから実施するアプローチを説明しており、それは2つの競合するゴール間のトレードオフになることが多い。

出来の悪い基本方針を読むと、「結局どうすればいいんだ?」と感じるだろう。現実を変えない方法を正当化しているからだ。よい方針を読むと、「あぁ、アンナとビルとクレアを本当に困らせるだろうな」と思うだろう。競合するゴールに対する立場を明確にしているからだ。

基本方針を診断に適用することで、どのように行動したらよいかが分かる。決断を具現化するために、基本方針を具体的な行程に落とし込むのは確かに難しい。書くだけであれば簡単だ。共有してやり抜くことは、あなたの本気度を試す重要な試練になる。

ビジョンの文書化

戦略が特定の課題を克服するために必要となる厳しいトレードオフであるなら、ビジョンはそれらのトレードオフが相互に排他的ではない未来を描くものだ。効果的なビジョンにより、局所最適な制約を超えて考えられるようになり、中央集権的で厳格な調整を必要とせずに、進むべき道を緩やかに方向付けできる。

良いビジョンは次の項目で成り立つ

  1. ビジョンステートメント: 目指す姿を1~2分で表した文書全体の要約
  2. バリュープロポジション: ユーザーや自社にとってどのような価値があるのか
  3. ケイパビリティ
  4. 将来はなくなる制約
  5. 将来の制約
  6. 参考資料
  7. ナラティブ

確かに参考になるドキュメントはこの辺りの項目が述べられているなと改めて思います。

また、これらのドキュメントを検証するために、草案を書いたら同僚と共有しフィードバックをもらい修正する、定期的に更新するといったことも重要なポイントとして述べられており、ここも共感するところがありました。

マイグレーション

マイグレーションについても記載されています。なぜマイグレーションが重要なのか?という問いから始まります。

マイグレーションが重要なのは、技術的負債に対して意味のある進歩を遂げるために利用できる唯一の方法だからだ。

マイグレーションは、将来的なゆとりの確保につながる反面、目前に迫った締め切りの仕事への取り組みが手薄になるというジレンマを抱えている。そのためマイグレーションのスケジュールは議論の的となる。そしてシステムが大きくなるにつれて、マイグレーションのコストが高まっていく。

Googleで働く社員から伝え聞くところによると、「running to stand still. (駆け足で立ち止まる)」というフレーズがあるという。このフレーズは、依存性や設計パターンのアップグレードにチーム全体の能力が費やされ、プロダクトやシステムが前に進めない状況を表しているそうだ。

マイグレーションは、企業とコードが成長するにつれて、技術的負債を効果的に管理するための唯一の仕組みである。ソフトウェアやシステムをうまくマイグレーションできなければ、技術的負債で苦しむことになる。

このあたりはどこをとっても、共感できる部分でした。

次のよいマイグレーションを実行する、というセクションも面白く、デザインドキュメントの活用、部分的に終わったままで放置しない、マネジメント層にマイグレーションの状況を伝える仕組みを整える、100%に到達するにはマイグレーションを主導しているチームが自分たちで隅々まで掘り下げる、など納得の手順ばかりでした。

ポリシーに従う、例外に従わない

例外を認めれば一貫性が損なわれるが、確立した慣習に固執する「変化」しない組織は失敗に至るというところで、一貫性と変化をどのように調和させるかについての話で、最近自分でも考えていることに近い話題でした。

よいポリシーは制約をもたらす、ということで、

ポリシー「運営ルール」は小さな戦略である。ゴールを定めて、そのゴールと行動を一致させるための制約を特定することにより、ポリシーは構築される。

ポリシーが成功するか否かは、例外となる要求をどう扱うかで決まる。例外を認めることにより、みんなの公平感が失われ、今後にポリシーを弱めてしまう前例となる。例外に多くの時間を費やしている組織は、「例外負債」を負うことになる。

制約を再検討するための先行事例として全てのエスカレーションを集めよう。エスカレーションが十分に集まったら、制約を見直そう。

ポリシーを実運用するときは、次回の更新時期を宣言しておこう。

この辺りはまさに今考えている部分だったりするのでとても参考になりましたし早速取り入れていきたいと思いました。

例外負債というところは確かにそうで、ポリシーに対して一度例外を認めてしまうとその後も例外がどんどん増えていくというは感じているので、その場合は制約を見直す必要があると思いました。

会社、チーム、自分自身

まず、会社のために正しいことをする。 次に、チームのために正しいことをする。 最後に、自分のために正しいことをする。

読む人によっては違う意見を持つこともありそうですが、対象がマネージャならではの観点と思いました。個人的には納得。

終わりに

あとは、文化、キャリア、採用や評価などありましたが、特に印象に残ったところを抜粋しました。

こういう技術的な領域に近い本を読んだときに、普段自分が考えていることに対して一定近い意見や参考になる考え方があって、腹落ちする感じがいいです。

読書 マネジメント


関連記事