nikkie-ftnextの日記

イベントレポートや読書メモを発信

チーム全体をさがして

はじめに

ミリシタの年末ギャルイベの新曲アイうたのミュージカル曲の作詞・作曲のお二人じゃん!
エモがすぎるよ😭 nikkieです。

XPのプラクティスの1つ、チーム全体(Whole Team)についていくつかの本からインプットしました。
現時点の理解をバックアップします

目次

『Clean Agile』 3章

まず当たったのは『Clean Agile』。

https://www.tumblr.com/asciidwango/631315320701960192/clean-agile

サークルオブライフ(XPの12のプラクティス)に則った構成です。
3章がビジネスプラクティス4つを扱う章で、その中にチーム全体もあります。

  • チーム内の役割の物理的距離を縮める
    • 当初は開発者と顧客
      • 顧客はユーザのニーズを理解している人のメタファー1
    • 上記2つ以外にも役割があるので「チーム全体」呼称
  • 物理的距離を縮めるにフォーカスしている印象
    • チーム全体をひとつの部屋に集める話題の分量が多い
      • 「家からリモートで仕事する」否定的
    • 原著出版が2019年2なのでコロナ禍前

他の本にも当たっていきます。

エクストリームプログラミング

チーム全体(Whole Team)は7.2です。

プロジェクトの成功に必要なスキルや視点を持った人たちをチームに集める

目的は1つのチームの単位で顧客のニーズに応えること、そのために必要なスキルをチームに揃えるという手段をとるという理解です。
必要なスキルを持つ人を一時的にチームに入れるという話もありました。

他の話題として

  • チーム感(帰属感)
  • チームの規模(人数)
  • 完全にチームに参加する(掛け持ちしない)

前にある7.1に全員同席(Sit Together)があります。

チーム全体が入れる十分な広さのオープンスペースで開発する

全員同席して、あらゆる感覚を使ってコミュニケーションする

『Clean Agile』の「チーム全体」の節では「チーム全体」も「全員同席」も扱われていたように思われます(「全員同席」が強めで)

『アート・オブ・アジャイル デベロップメント』

初版(邦訳あり)

6.2に全員同席があります(なお、Whole Teamは見つかっていません)

全員同席は答えを待つことによるムダをなくし、生産性を劇的に向上させることができる。(p.119)

チームが1つの作業場に同席していることで、背後にいる同僚を振り返って質問すればいいのです。
必要なときに必要な人と必要なだけ会話するからムダがない(リーンだ!)

アリスター・コ―バーンによる「浸透するコミュニケーション(osmotic communication)」という語も紹介されていました。
要はカクテルパーティー効果です。

必要なときにチームメイトに聞くというのはムダはありませんが、割り込みになります。
ここに関してはペアプログラミングでカバー!(6.2.4参照)
ペアの一人が質問に回答している間に、もうひとりが実装を進められます。
ペアとしては割り込まれていないわけですね

2nd Edition(英語のみ)

7章にWhole Teamがあります。

Note that Agile teams need skills, not roles.

アジャイルチームに必要なのはロール(役割)ではなく、スキル。
スキルは『エクストリームプログラミング』でも登場していましたね。

アジャイルラクティスマップ

この3冊を読むとアジャイルラクティスマップ中のこの話はこの本にあったな〜と結びつきます

ロン・ジェフリーズによるサークルオブライフ

サークルオブライフについてUncle Bob以外の視点からの説明です。

https://ronjeffries.com/xprog/what-is-extreme-programming/#whole

All the contributors to an XP project sit together, members of one team.

「Sit Together」登場しました

The best teams have no specialists, only general contributors with special skills.

ここはロールではなくスキルの話に該当するかなと思います

IMO:思うに『Clean Agile』では

チーム全体というプラクティスで、全員同席が押し出されすぎているという印象です。
全員同席することはムダのないコミュニケーションにつながるので重要ですが、チーム全体というプラクティスはそれだけではないと考えます。

  • チームの単位で顧客のニーズに応えるために
    • 必要なスキルをチームに揃える
    • チームを掛け持ちせず、1つのチームに参加する
  • 全員同席とペアプログラミングを掛け合わせると、割り込みにならずにムダのないコミュニケーションが実現できる

終わりに

XPのプラクティス「チーム全体」についていくつかの文献でインプットしました。

  • 1つのチームの単位で顧客のニーズに応える、そのために必要なスキルをチーム全体で備える
  • スキルを備えたチーム全体が効果的にコミュニケーションするために全員同席

やっべー、Uncle Bobに「全員同席偏重」と物申しちゃったよ。
The Clean Code Blogで喝3入れられるかもな(光栄です!と考えよう)

気になること

  • COVID-19のただ中ではオンラインでやらざるをえなくなったわけだけど、全員同席は今どうなっているのだろう
  • GitLabの例はどう見ればいいんだろう(ヒントが取り出せそうな外れ値?)

P.S. さがしてシリーズ

https://nikkie-ftnext.hatenablog.com/archive/category/XP にあります(実質不定期連載)。

直近では計画ゲームを取り上げました



  1. メタファーは『Clean Agile』第4章で取り上げられるプラクティスです
  2. https://www.pearson.com/en-us/subject-catalog/p/clean-agile-back-to-basics/P200000009530/9780135781999
  3. 喝の例はこちらに