『チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計』2021/12/1
マシュー・スケルトン (著), マニュエル・パイス (著), 原田 騎郎 (翻訳),
ソフトウェア開発でサービスの高速なデリバリーを実現することを目的とした、4つの基本的なチームタイプと、3つのインタラクションパターンに基づく、組織設計とチームインタラクションのための実践的な適応モデルを紹介してくれる本で、内容は次の通りです。
PART I デリバリーの手段としてのチーム
Chapter1 組織図の問題
Chapter2 コンウェイの法則が重要な理由
Chapter3 チームファースト思考
PART II フローを機能させるチームトポロシ゛ー
Chapter4 静的なチームトポロシ゛ーチームのアンチパターン
Chapter5 4つの基本的なチームタイフ゜
Chapter6 チームファーストな境界を決める
PART III イノべーションと高速なデリバリーのため にチームインタラクションを進化させる
Chapter7 チームインタラクションモート゛
Chapter8 組織的センシングでチーム構造を進化させる
Chapter9 まとめ:次世代デジタル運用モデル
*
「まえがき」には次のように書いてありました。
「システムの複雑度が増すにつれて、一般的に、組織を作りそれを進化させていくのに必要な認知は増える。明確な責任と境界を持つチームにすることで認知負荷をなんとかしようというのが、本書のアプローチにおけるチーム設計の最大の肝だ。担当範囲を適切なものとし、責任の境界を明確にするには、チームが従うべき、自然な形で比較的独立したシステム構造が必要だ。これはコンウェイの法則を踏まえたものであり、明確な境界があって疎結合で、凝集性の高い構造(逆コンウェイ戦略)を維持するのに大いに役立つ。」
そして「チーム」の基本的な形は次の4つです。
1)ストリームアラインドチーム
組織で根幹となるチームタイプで、ビジネスの主な変更フローに沿って配置されるチーム。職能横断型で、他のチームを待つことなく、利用可能な機能をデリバリーする能力を持つ
2)プラットフォームチーム
下位のプラットフォームを扱うチームで、ストリームアラインドチームのデリバリーを助ける。プラットフォームは直接使うと複雑な技術をシンプルにし、利用するチームの認知負荷を減らす
3)イネイブリングチーム
転換期や学習期に、他のチームがソフトウェアを導入したり変更したりするのを助ける
4)コンプリケイテッドサブシステムチーム
普通のストリームアラインドチーム、プラットフォームチームが扱うには複雑すぎるサブシステムを扱うためのチーム。本当に必要な場合だけ編成される
*
またチーム・インタラクション・モード(チームの連携方法)は、つぎの3つです。
1)コラボレーションモード
特に新しい技術やアプローチを探索している間、2つのチームがゴールを共有して一緒に働く。
2)X-as-a-Servieモード
あるチームが、別のチームが提供する何かを利用する。コラボレーションは最小限になっている
3)ファシリテーションモード
あるチーム(通常はイネイブリングチーム)が、新しいアプローチの学習と適用を促すため、他のチームを支援する
*
そしてこのチーム構造とコミュニケーションパスは、そのままずっと維持するのではなく、技術と組織の成熟度に合わせて進化させる必要があるそうです。
このチーム・トポロジーは、「チーム構造は、組織が必要とするソフトウェアのアーキテクチャーと一致する必要がある」という考え方に基づいていて、迅速な開発だけでなく、責任あるソフトウェア開発&運用を行う上でも効果的なもののように思えました。
なお、「チーム」として効率的に働ける最大サイズは、多くの組織では7人から9人だそうです。
「チーム・トポロジー」で参考になったことはたくさんあったのですが、そのうちの、ごく一例をあげると次のような感じ。
・長続きするチームに仕事が流れ込む(チームが一体となって働けるようになるには、2週間から3か月以上かかるのが一般的。チームとチームがいる環境を安定させる(ただし時々少し入れ替える))
・チームがソフトウェアのオーナーになる(ソフトウェアシステムのすべてのパーツのオーナーは単一のチームである必要がある)
・チームで効果的に働くには、チームメンバーは個人のニーズよりチームのニーズを優先しなければならない。
・結束したチームを作るには、異質な人が少し混ざっていた方が効果的
・チーム全体の活動に対してチームに報酬が与えられる
・チームの認知負荷に合うように責任範囲を制限する(認知負荷を超える責任を課すことでチームにストレスを与えると、チームはハイパフォーマンスなユニットとして働くことができなくなり、ただの個人の集まりのようにふるまい始める(個人のタスクだけを達成しようとする))
・チームファーストな作業環境(物理環境、仮想環境)を用意する
*
ソフトウェアの開発・運用を行うチームの組織設計を行う上で、とても参考になる考え方を知ることが出来る本でした。ただ……最初のころ、なかなか全体像がつかめない感じがして、とても読みにくかったので、最初に「Chapter9 まとめ:次世代デジタル運用モデル」を読んで全体像を軽く把握してから、PART I・Chapter1に戻った方が、本書を理解しやすいと思います。
ソフトウェア業界で働いている方(特に管理職の方)は、ぜひ一度読んでみてください。より効率的な組織設計へのヒントを何か見つけられるかもしれません。
* * *
なお社会や科学、IT関連の本は変化のスピードが速いので、購入する場合は、対象の本が最新版であることを確認してください。
<Amazon商品リンク>