読書メモ:エンジニアリング組織論への招待

エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング

誰かの書評で見かけた気がするが、『よくまとめたな』というのが率直な感想。マネジメントを生業とする人々の水準を、この本から得られるものとすれば世の中が良くなるのではないかな。

『エンジニアリング』とは?

エンジニアリングとは、「不確実性の高い状態」から「不確実性の低い状態」に「効率よく」移す行いすべて。 「不確実性を減少させる知識」のことを「情報」とよぶ。

経験主義と仮説思考

経験主義は、「コントロールできるもの」を操作し、「観測できるもの」の結果をみることでしか、前に進むことができないことを意味する。

少ない情報で大胆に考える仮説思考は、経験主義をさらに生産的なものにする。

全体論とシステム思考

システム思考は、「個別最適化」が全体最適にならない問題を分析し、より本質的な問題解決を支援するフレームワーク。

局所最適解同士が争うことで対立が生まれることがある。

コミュニケーションの不確実性

『他者理解の不確実性』『伝達の不確実性』『成果の不確実性』によって、『情報の非対称性』と『限定合理性』が生まれる。

ハンロンのカミソリ

『無能で十分に説明のつくことを悪意のせいにするな』

コミュニケーション能力

コミュニケーションの不確実性を減少させる能力。

情報の透明性

継続したコミュニケーションや仕組みを通じて、コミュニケーションの不確実性を低く維持し、情報の非対称性が削減され、限定合理性の働きを弱められている状態。

『メンタリング』とは?

対話を通じて、メンタリングする人の思考能力を一時的に貸し出し、思考の幅を広げていくことで、その人の歪んだ認知を補正し、次の行動を促し、成長させていく手法。

メンタリングは、「自ら考える人材を作る」テクニック。

自立的な思考を行うことの快感(自己効力感)が、依存的な思考を行う快感(コンフォートゾーン)を上回る様にメンティを導いていく。

メンターとメンティの関係性

HRT が重要。

  • Humility (謙虚)
  • Respect (敬意)
  • Trust (信頼)

他者説得と自己説得

メンタリングでは、他者説得よりも自己説得を重視し、その獲得を目指す。

「考える」と「悩む」

メンティが「行動できていないとき」に、メンターは「悩み」を聞き出し、気づきを促して「考える」に変えていく必要がある。

考えるは行動で、悩むは状態。

傾聴・可視化・リフレーミング

「問題を解決してあげよう」という意識ではなく、「モヤモヤしていない問題に変換してあげよう」と考えることが重要。

  • 感情に固執していて解けないので、「傾聴」する
  • 客観視できずに解けないので「可視化」する
  • そもそも解けない問題なので「リフレーミングで前提を変える

傾聴

  • 「相手の」感情への「共感」を言動で示す
  • 「相手の」話の内容を「可視化」する
  • 「相手の」思考の「盲点」を探索しながら質問する

共感と同感

「相手がそのような気持ちになった理由を理解すること」が「共感」で、「自分が相手と同じ気持ちになる」ことが「同感」。 傾聴において示すべきは「共感」であって「同感」ではない。

ラーニングゾーン

心理的安全性が高く、問題に対する責任感が高い状況をラーニングゾーンとする。 メンターは、メンティを「ラーニングゾーン」に導くことによって、初めて成長を促すことができる。

ジョハリの窓

フィードバックや自己開示によって開放の窓を広げ、未知の窓に近づけることを目指す。

  • 開放の窓
  • 盲点の窓
  • 秘密の窓
  • 未知の窓

SMART

  • Specific (具体的な)
  • Measureable (測定可能な)
  • Achivable (到達可能な)
  • Related (関連した)
  • Time-Bound (時間制限のある)

セルフマスタリー

将来の自分が、今現在のメンタリングしている状態を「セルフマスタリー(自己熟達)」を得たと表現する。 メンタリングは、メンティがセルフマスタリーを得ることによって、完成する。

アジャイル

「アジャイル開発」は、チーム全体に対してメンタリングを行い開発出力を向上させる方法論。

チームマスタリー

チームが総体として、チーム自体のゴールに対して高い「ゴール認識」をもち、チーム自体がチームをメンタリングしている状態を、チームマスタリーがある状態といえる。 チームマスタリーがある状態のことをアジャイル開発の用語としては、「自己組織化されたチーム」とよぶ。

アジャイルになる

アジャイルという言葉を開発方式として捉えてしまうと、アジャイルを「やる」「する」といった表現を使ってしまう。

アジャイル(agile: 主敏な)という言葉は特定の行動ではなく、ある状態を指している。 それは、チームマスタリーを得ている状態であり、自己組織化された状態と同じことを意味する。

アジャイルな状態

  • 情報の非対称性が小さい
  • 認知の歪みが少ない
  • チームより小さい限定合理性が働かない
  • 対人リスクをとれていて心理的安全性が高い
  • 課題・不安に向き合い不確実性の削減が効率よくできている
  • チーム全体のゴール認識レベルが高い

アジャイルに関する 5 つの誤解

  • アジャイル開発は決まったプロセスである
  • アジャイル開発では設計をしない
  • アジャイル開発は優秀なメンバーが必要
  • アジャイル開発では中長期計画がない
  • アジャイル開発は開発者に決定権がある手法だ

不確実性マネジメント

  • 方法不確実性: スケジュール予測と見積もりの手法
  • 目的不確実性: 要求と仮説検証の手法
  • 通信不確実性: 振り返りの手法

スケジュールマネジメント

  • 制約スラックを削減する
  • 見積もりの予測可能性を上げる
  • プロジェクトバッファの消費を可視化し改善する

スクラムにおけるイベント

  • 目的不確実性にともなうマーケット不安に向き合う
  • 方法不確実性にともなうスケジュール不安に向き合う
  • 通信不確実性にともなる情報の非対称性を減らす

「What の検査」「How の検査」「日々の検査」

振り返り

「どこに向かって」振り返るのかというゴールが足りないことが往々にしてある。

  1. ゴール再認識
  2. テーマ設定
  3. 現状整理
  4. よかった探し
  5. 問題の洗い出し
  6. 問題の深掘り
  7. 対策の決定

企業の情報処理能力

市場の不確実性を効率よく仮説検証する能力を企業の情報処理能力と定義する。

自己組織化された組織

目標の共有や権限の委譲などを通じて、抽象的な指示が機能する組織であれば、裁量が拡大し、上司から必要な権限を調達する「自己組織化された組織」といえる。

権限委譲のレベル

  1. (上司が部下に) 命令する
  2. (上司が部下に) 説得する
  3. (上司が部下に) 相談する
  4. (上司が部下に) 合意する
  5. (上司が部下に) 助言する
  6. (上司が部下に) 尋ねる
  7. (上司が部下に) 委任する

技術的負債の 4 象限

  • 無鉄砲な / 慎重な
  • 意図的な / 無意識の

慎重かつ意図的に作られた負債なら問題なく返済できるが、無知や無鉄砲さから生まれた負債は問題を大きくするため避けるべき。

  • 見える / 見えない
  • プラスの価値 / マイナスの価値

技術的負債は、見えないマイナスの価値。

技術的負債の数学的定義

技術的負債は、機能追加時の 2 つのシステムの工数の差で表現できるのではないか、という考え方。 1 つは現状のシステムで、もう 1 つは理想的なシステム。

TD(S, e) = max { CC(S, e) - CC(S', e) | S' ∈ Sys(S) }

S       : システム
e       : システムへの変更
CC(S, e): システムの変更コスト
Sys(S)  : S と同一機能の別システムの集合

技術的負債を技術的負債と呼ぶ隠れた原因

  • 追加機能の情報非対称性
  • アーキテクチャが見えないという情報非対称性

技術的負債というキーワードを巡るハレーションは、コミュニケーションミスの累積であり、組織的な構造の問題。

技術的負債の可視化

  • アーキテクチャの複雑性(エンジニアから経営者へのコミュニケーション)
    • 循環的複雑度の可視化
    • 依存関係の分析
    • コードチャーンの分析
  • 将来要件の不確実性(経営者からエンジニアへのコミュニケーション)
    • 非機能要件の具体化
    • 仮説・戦略の透明化
    • ユビキタス言語の作成

機能横断チーム

意思決定者と実現する能力をもつ人員の取引コストをできる限り下げたチームを機能横断型のチームという。

  • 地理的に近い配置
  • 十分な権限委譲
  • 心理的安全性の高さ
  • 目的の透明性

目標管理と透明性

MBO では、自ら立てた目標を達成していくことによって生まれるモチベーションの「内的動機付け」を重視している。 個別の目標設定を局所最適解に陥らせないために、全体論的理解が必要。 組織の透明性とは、「情報が整合性を持って、組織内に正しく伝達されること」。

OKR

目標設定を通じて、従業員一人一人が組織全体を見渡して、自分が何のために仕事をしているのかを深く理解するというのが、OKR の果たす重要な役割。