Some Days You Get the Bear

IT系エンジニアの、日々の気づきや考えたこと。

あらためてモブプログラミング

takaking22.com
基調講演の話の内容が詳しく書いてある。サンキュー!

モブプログラミングはどうすれば一つのチームが一緒に効率よく働くことができるかということを探求する過程で発展してきました。一旦始めてみると、我々はモブプログラミングが次のような様々な面でより良い効果を生み出すことにすぐに気づきました。
 
・今までよりも多くの作業を終えることができた
・より多くの重要な作業を終えることができた
・作業の品質が劇的に向上した
・チームのナレッジ、スキル、遂行能力が急速に進歩した
・そしてチーム全員がとても楽しんで仕事をしていた

「モブプログラミングは生産性があがるのか?」
 
この答えは私もわからない!
ただし、モブプログラミングによって仕事がうまくいくことはわかった。

「モブプログラミングは生産性があがるのか?」
 
ではなく、
 
「モブプログラミングは効果的なのか?」
 
という問いに変えてみよう。そしてその問いを少し反対から考えてみて、
 
「本来一緒に仕事をするべき人達がバラバラに仕事をする場合にどうやってうまくいかせるためにはどうすればいいか?」
 
ということを考えてみる。バラバラに仕事をすることで効果的ではなくなってしまう要因は何なのだろうか?
 
以前、効果的ではなくなってしまう要因を考えるワークショップをやったときは50個見つかった。
 
これらの問題はモブプログラミングを始めるとすべてなくなってしまう。モブプログラミングは、効果的にするためにはどうすればいいかを学ぶことにフォーカスしたことから生まれたのである。

例えば質問をして答えが返ってくるまでのキューのことを考えてみよう。
(中略)
この待ち時間をより効果的にするためにはどうすればいよいのだろうか。それは待ち時間の間に別の仕事をすることだ。しかし、このやり方は「在庫を抱える」という別の問題を生んでいる。
(中略)
別の仕事をすることで症状を小さくできているかもしれないけれど、「在庫を抱える」という問題は一切解決していない。
(中略)
この「在庫を抱える」という問題は、チームで一緒に働くだけで消えるのだ。答えを待つ必要がない。その場に答える人がいるのだから、自動的に1個流しになる。

モブプログラミングは個人の仕事ではなく仕事のフローを最適化している。チーム全員で一番いい状態に持っていくのである。
 
結局、すべての問題の根幹はキューイングである。モブプログラミングはキューイングをなくすことである。

 
omix222.hatenablog.com

  • Mob Programming は一人一人を最大限引き出すのではなく、みんなから一番いいところ引き出す
  • モブプログラミングは、仕事のフローに対して最適化されている (一人一人のアウトプットへの最適化はしていない)
  • 製品開発でもっとも大きな問題はキューとされている。Mobはソフトウェア開発におけるキューの問題を解決する

こちらは、スッキリまとめて下さってて、わかりやすいですね。