第I部 エンジニアリング戦略の導入 ・ 第4章
戦略の有用性を理解していても、「今日から書き始めよう」と決断するのは簡単ではない。著者自身、Calm の CTO になってすぐに「エンジニアリング戦略」というタイトルの空ファイルを作ったものの、まっさらな画面を前に何も書けず閉じてしまい、1年後にようやく書けたという。書き始めると今度は戦略が膨大になりすぎ、組織が理解しきれず無視されてしまうことも少なくない。
では、いつ書くのが適切か。著者は現在の戦略状態を3つのカテゴリで診断することを勧める。(1) 全体として一貫している=ドキュメント化されていなくても組織全体で判断がそろっている状態。新しいプロダクトを既存のモノリシックなコードベースに合わせて作る、といった暗黙の一致がある。(2) チーム内では一貫している=組織の一部の集団ではそれぞれ明確な戦略があるが、集団間では不一致がある状態。プロダクトエンジニアリングは新しいサービスで実装すべきと考え、プラットフォームエンジニアリングは既存のモノリスで実装すべきと考えている、というような対立。(3) 大きくばらついている=同じ問題にどう取り組むかチーム内ですら共通認識がない状態。
このうち「全体として一貫している」なら、わざわざ戦略を書く必要は薄い。「チーム内では一貫している」「大きくばらついている」状態こそ、戦略を書くのに適したタイミングである。著者はさらに戦略状態の変化の傾向にも注目する。より悪い状態(ばらつきが拡大する方向)へ向かっているなら、今こそ戦略に取り組む適切なタイミングだ、と判断する。
適切な量を決めるのも難しい。書きすぎると、戦略が膨大になって誰も読まなくなり、無視されてしまう。少なすぎると、本来そろえるべき判断がそろわない。著者は、必要十分な量を見極める感覚を養うことを勧める。
具体的には、いま起きている具体的なアクションが何もない状態のままで、抽象的な議論ばかりに時間を費やしていないかを点検するとよい。戦略は具体的な行動につながってこそ意味がある。また、抽象論にとどまらず、その方針が組織の意思決定を実際に変えてきたかを自問することも有効だ。もし何も変えていないなら、その戦略は量が多すぎるか、あるいは具体に欠けている。
著者は、戦略はスループット(速度)にも直結すると注意を促す。書きすぎた戦略は人々の判断を縛りすぎ、かえって組織の動きを鈍らせる。逆に少なすぎれば判断がそろわず手戻りが増える。だからこそ、その時々の状況に合わせて「ちょうど必要なだけ」を見極めることが重要になる。
戦略が生む付帯的なコストを管理する鍵が「戦略の視座」という概念だ。これは、戦略を「組織レベル」で書くか「チームレベル」で書くか、そして「賞賛的(promised/規範を高く掲げる方向)」に書くか「規範的(prescriptive/具体的に縛る方向)」に書くか、という2軸で位置づける考え方である。著者は4つの組み合わせを示す。
組織レベルの賞賛的戦略: 高い規範を掲げる。たとえば DevOps エクセレンス(DevOps excellence)のようにチームのコード品質を向上させると考えるが、各チームが自分のやり方で lint ルールを設定する自由を残す。組織レベルの規範的戦略: CI/CD ツールやコードカバレッジの下限を具体的に縛る。たとえば、すべてのプルリクエストに CI/CD のゲートを設けて品質を強制する。チームレベルの賞賛的戦略: プロダクトエンジニアリングチームが自分たちのソフトウェアにおけるキャリアと規範について考えると述べ、各チームに自由度を残す。チームレベルの規範的戦略: プロダクトエンジニアリングチームが、スプリント計画ではまず障害を優先解決する、といった具体的な手順を規定する。
視座が規範的になるほど、運用コストは下がる(判断のばらつきが減り迷いが少なくなる)が、その分だけ縛りがきつくなり柔軟性が失われる。逆に賞賛的なほど自由度は高いが、判断をそろえるコストは増える。状況に応じてこの視座を調整することで、戦略の付帯コストをコントロールできる。著者は Carta での経験を引き、最初の半年は視座を高く(賞賛的に)掲げ、後から具体性を加えていったと述べる。
「自分の会社には戦略がない」と嘆くエンジニアは多いが、本書は逆の落とし穴、すなわち戦略をやりすぎることの危険にも注意を促す。多すぎる戦略は組織を押し潰しかねない。
やりすぎていないかをチェックする方法として、著者は「自分たちの意思決定に影響を与えてきたか」を自問することを勧める。たくさんの戦略を共有してきたのに、自分たちのソフトウェアの作られ方がまったく変わっていないなら、戦略の規模を縮小すべきサインだ。まず1つの戦略をうまく機能させることに集中し、以前の取り組みで何がうまくいかなかったかを深く理解する。そのうえで以前の取り組みに戻って修正し、そのステップを終えてはじめて、次へと拡大していくべきである。
取り組み自体は良いものであっても、やりすぎれば組織が押し潰されそうになる。新しいアプローチを導入するのは負荷がかかるため、一度にすべてを変えようとすると組織は対応しきれない。導入しやすいように戦略の視座を調整し、既存の戦略が十分に定着するまでは、新しい戦略を追加するペースを落とすべきだ。
この章では、戦略を書くべき効果的なタイミング、適切な量への調整、そして戦略の視座という概念によって付帯コストをコントロールする方法を見てきた。視座を使えば戦略を導入しやすくなり、やりすぎによる過度な負担を避けられる。
この章から1つだけ覚えるとしたら、それは「常に1つだけ戦略を動かせ」ということだ。たくさん取り組むと前進しているように感じられるが、失敗することも多い。そして逆に、戦略が1つも動いていない状態は機会損失になる。ちょうど1つを着実に動かし続けることが、書きすぎと書かなすぎの両極端を避ける指針となる。