APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Team Topologiesは何を解決してくれるか

はじめに

次第に日本でも浸透しつつある Team Topologeis(チームトポロジー)。本ブログでも直接的・間接的にご紹介してきています。以下はその1つです。

techblog.ap-com.co.jp

さて、Team Topologiesといえば4つの基本チームタイプ(Fundamental Team Type)と3つのコミュニケーションタイプ(Team Interaction Type)ではないかと思います。

Team TopologiesのGitHubより引用)

このタイプをみて、「どれを選べばいいの」と考えてしまうケースも出てきているのではないでしょうか。

実はTeam Topologiesが解決するもの(=Team TopologiesのPrinciple)を理解し、それを中心に考えると意外と何をすべきかが見えてくるものです。

今回はそのTeam TopologiesのPrincipleをご紹介します。

Team Topologies が解決するもの

Team Topologiesが解決するもの。つまりTeam Topologiesをなぜ導入・採用するるのかという理由になるわけですが、この部分をしっかりと把握することで、どのチームタイプやコミュニケーションタイプにすべきなのかということがもっとわかりやすくなります。 Team Topologiesが解決するもの、それはチームの成果(アウトカム)の最大化です。どうすれば最大化できるのか、Team Topologiesでは2つの要素を解決することで実現することを考えます。

解決するもの1 Cognitive Load(認知負荷)

Team Topologiesでは、チーム間の認知負荷を制限していくことを目指します。 認知負荷とはなんでしょうか。認知負荷を調べてみると以下のような定義が見つかります。

Cognitive load refers to the used amount of working memory resources.
認知負荷とは使用されたワーキングメモリの量である (英語版 Wikipediaより)

つまり人間が考える際に使用する記憶容量のようなものと考えてよいでしょう。

認知負荷は

  • 情報量/コミュニケーション量が多くなると高くなる
  • マルチタスク間のタスクスイッチにより高くなる

と言われます。認知負荷が高くなりすぎると作業も停滞気味になります。コンピュータのメモリ同様に出きり限り効率的にこの認知負荷(記憶容量)をコントロールすべきです。

ではどんな認知負荷があるのでしょうか。
認知負荷は以下の3つに分類できます。

認知負荷タイプ 概要
内在的な(Intrinsic) 問題に対する教育的なもの。
- プログラム言語を覚える
- ツールの使い方を覚える
レストランシェフで言えば料理道具の使い方を覚える
余計な(Extraneous) タスクを実行する上で本質的ではないオーバーヘッド。
- CD Pipelineを設計・設定する
- テスト環境の構築
レストランシェフで言えばメニューのプロモーションや印刷に関する事柄など
適度な(Germane) 本来取り組むべき問題の解決などのタスク。
- 顧客に提供する機能の検討・実現
レストランシェフで言えば新たなメニューを考案したり美味しくする努力。

可能であればExtraneous(余計)な認知負荷は取り除きたいものです。 またIntrinsic(内在的)な認知負荷はある程度受け入れるべきとは思いますが、できるだけ簡単にできるようにしたいものです。 これら2つの認知負荷をできるだけ低減し、本来行うべきGermaneなことに集中し、記憶容量を効率的・効果的にしていくことでチームの成果(アウトカム)を最大化する。それがTeam Topologiesが解決する課題の1つです。

解決するもの2 Fast Flow

チームの成果(アウトカム)を最大化するために必要なことがもう1つあります。それはいかに実行内容を早く実現していくかです。 早く実現するための1つが認知負荷を制限することでした。しかし、これだけでは早く実現することはできません。そこで注目するのがFast Flow(フローを早くすること)です。

皆さんの作業のフローを考えてみてください。誰かに依頼し、その回答を待たなければいけないことはありませんか?自分が行う作業が、誰かの作業に依存していませんか? 誰かの作業待ちが発生する、つまり作業をブロックしている部分がFast Flowを阻害している部分です。こうした部分をできる限り非同期にし、依存関係をへらす・なくす、つまり作業をチーム内で完結させることで、作業のフローを最適化します。

2つの課題をするために

Congnitive LoadとFast Flowという2つの課題を解決するためのツール・手法が冒頭にあげた「4つの基本チームタイプ(Fundamental Team Type)」と「3つのコミュニケーションタイプ(Team Interaction Type)」です。

本来やるべき作業に集中するために、チームを適切に分割しコミュニケーション手法も変えていくのです。 チーム分割ありきではないのです。

今回あげた2つ「Cognitive Load」と「Fast Flow」にフォーカスすればTeam Topologiesの意義がわかってくると思います。

もしまだ不安があるという場合はぜひ私達にご相談ください。

ACS事業部のご紹介

私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。 実はTeam Topologiesもこうした内製化支援の一部です。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp