モブプロのイベントを通じて、モブプロの生産性について考えてみた

はじめに

2019/03/16に札幌で開催された「Agile Japan 2018 札幌サテライト」に運営側として参加してきました。

agilesapporo.doorkeeper.jp

午前は本会場の基調講演のビデオを鑑賞、午後は基調講演の1つでモブプロが取り上げられたこともあり、モブプロの第一人者である楽天の及部さんを札幌にお招きしてモブプロのワークショップを行いました。

個人的には業務でペアプロやモブプロ(実際には設計をチームでやるモビング)をやっていますが、今後本格的にチームでモブプロをやってみたいと考え、「モブプロで生産性が下がらないのか?」という質問に答えられるように、何らかのヒントをこのイベントで得たいと思っていました。

セッションで心に残ったワード

モブに関するワードでいくつか心に残った、モブを導入する際に他の人に説明したいワードです。

  • 間違った事を早くやるより、正しいことをゆっくりやる方が良い
  • 生産性は本当に正しいことをやっているかは不明。ただアウトプットが出ているだけ
  • 効果的な仕事
  • 仕掛かりと在庫。在庫は作業が終わっていない状態。
  • 仕事を一つずつ終わらせていく。一個流し
  • 没頭している状態 → フロー状態
  • 個人のフローとチームのフローはアンドが取れる
  • Output → Outcome
  • モブプロで暗黙知をチームへ

モブプロで生産性は上がるのか?

答えは「わかりません」でした。

これはWoody氏が説明していた「生産性は本当に正しいことをやっているかは不明。ただアウトプットが出ているだけ」ということを考えると、 そもそも生産性という基準が間違っている可能性があるので、議論のポイントが違うのかも。ということと、

及部さんのセッションの中に、「分担作業を前提とした場合には分担前と分担後に必ず、どうやって分担するかの計画と分担後のレビューや承認作業が発生する」というお話があり、これらの作業も考えると分担する方が早いとは言えなくなります。

自分の実体験でも、新人やチームにジョインして間もない人が作成した成果物をレビューしたとき、1回のやり取りでは終わらず、2回、3回とレビューをやり直した事があります。この時はかなりの時間を費やしてしまったので、さっさとペアプロした方が早いなと感じました。 *1

そして、このようなことがチームのあちこちで起きてしまった場合、途端にチーム全体の作業が滞り生産性はガタ落ちするでしょう。

但し、全員がレビューで指摘が一つもあがらないくらい素晴らしい作業ができる(もしくはレビューを適当にやってしまう)場合は全員が生産性は高いかもしれません。


リソース効率とフロー効率

上記についてイメージできる図が及部さんのスライドにありました。

スライドが見つけられず図を紹介できないのですが *2、3車線の高速道路を隙間なく車が走っている図で、全ての車が一定の速度で走っている場合は問題ないが、どこかで詰まってしまうとたちまち渋滞が発生してしまう。 一方、交通量が少なく車間距離に余裕のある状態であれば、どこかの車が多少ブレーキをしても渋滞が起こることはなく、車は流れていく。

もちもん、すべての車がブレーキをかけず一定の速度で走っていれば、隙間なく車が走っていたほうが絶対数は多くなると思います(リソース効率が良い)

ただ、自分たちの作業に置き換えた場合に滞りなく作業できることのほうが稀で、レビューの問題の他にも

  • 要件の詳細を確認する
  • 他人の作業とコンフリクトを起こしたので修正する
  • 分担した他の作業が終わるのを待つ

など、作業が滞る要素はいくらでもあります。

そんなことを考えていくとモブプロは非常に有効な手段と言えるのではないでしょうか。*3

と、いうことで自分が感じたことは生産性が上がるかどうかはチームの状態や作業内容によるため、ケース・バイ・ケース。 但し、ほとんどの場合モブでチーム一体となって作業をするほうがより高いレベルの仕事ができそうだ。ということです。


ここまでの内容はイベントを通して自分が感じたことです。 お話して頂いた内容と食い違う点があるかもしれませんので、ぜひ及部さんのブログやスライドを見てください。 takaking22.com takaking22.com

モブプロワークショップをやってみて

上であれこれ書いていますが、モブプロやりたい究極の動機は「楽しいから」です。

午後からのセッションで、実演とワークショップの2回モブプロやりましたが、とても楽しかったです。 他のチームのあちこちからも笑い声が聞こえてきて、みなさん楽しみながらプログラミングをしていた印象でした。

これからチームにモブプロ(もしくはペアプロ)を導入していきますが、チームがリモートチームのため、いろいろやってみて知見が溜まったら どこかで紹介したいと思います!

*1:これも結局はレビュアー側が期待したレベルのものが出来ない(期待値の合意が出来ていない)というコミュニケーションの問題だったのだなとイベントを通じて感じました。

*2:モブプロの本に詳しく載っているのでぜひ参考に

*3:このような問題が解消できるほど練度が高いチームがあれば分担作業したほうが早いのかもしれませんが、自分はまだそんな経験をしたことはありません・・・