モブプロな人たちのブログ

横浜で Web サービス開発しているエンジニアの日記です。Python 大好き Flask 大好き。たまに SpriteKit でゲーム開発も。

モブプログラミングを4ヶ月続けてみて感じたメリット・デメリット

こんにちは、kaorr です。

一人アドベントカレンダー7日目です。

はじめに

ここ4ヶ月で実践したモブプログラミングについて、感じたメリット・デメリットをまとめてみようと思います! 若干過去形に見えますが、今後も止めるつもりは無く、続けられる限り続けていきます。

f:id:kaorr_mob:20171207212014p:plain

そもそもモブプログラミングとは

詳細は Wikipedia に任せるとして・・・と調べても、まだ日本語では書かれていないですね・・・。英語だとありました。

Mob programming - Wikipedia

基本的にはペアプログラミングと同じような考え方なので、英語が苦手な方はこっちの方が見やすいかもしれません。

ペアプログラミング - Wikipedia

誤解を恐れずにシンプルに書くと、複数人のエンジニアが1つの PC でプログラミングするのがモブプログラミングです!!(長いので、以後モブプロと呼びます。)

私のモブプロ環境

4ヶ月前から現在にいたるまで、私を含めた3人でモブプロを実践しています。3人ともエンジニアなのですが1人はデザイナー寄りで、お互いに得意不得意が異なっていて、良い感じにフォローし合える構成です。

PC は 7年前くらいの MacBook Pro に強引に High Sierra を入れて使っています。これだけ見ると「いやいや、まともに動かないでしょ!?」と思うと思いますが、これがなかなかヌルヌル動きます。大したアプリケーションを使ってないからかもしれませんが。

(あ、でも、Illustrator とか起動すると、尋常じゃないくらい待たされますね・・・。)

そして、27 インチのディスプレイを繋いで、3人横並びになって、1つの画面を見ながら作業しています。

f:id:kaorr_mob:20171207214809p:plain

3人横並びのイメージ

1日の流れ

だいたい1日中モブプロしています。

メール対応や事務処理など、個別で対応しなければならないタスクは個別でやりますが、プログラミングが関係するところは基本的に全てモブっています。基本的に、というのは例外もあるからです。それが後述するデメリットです。

そして、現在のチームでは開発スタイルとしてスクラムを採用しているのですが、スプリント計画会議にて実施が決まったタスクをバシバシ完了させていく感じです。(スクラムについての話は、またの機会があれば。)

メリット

さて、メリットについてですが、

  • 1人だと悩んでウーンウーンなるところが、3人寄れば何とやらでサクサク進む(ことが多い)

  • なるほど! こういう風に考えれば良いのか! となって学びが進む

  • 開発したものの理解をかなり詳細まで共有できる

  • ショートカットキーとか PC 操作とか、自分が普段使わない技を知ることが出来る

  • とにかく楽しい!!

という感じです。

この楽しいというのは冗談のようでかなり大事な要素だと思っています。楽しいと感じるから難しい課題にも立ち向かえる、ポジティブ脳になるから理解が進みやすい(記憶に残りやすい)、健康に良い(精神的に)、といったところです。

デメリット

もちろんメリットしかないわけはありません。

  • メンバー間の知識や理解に極端な差がある場合、特定のメンバーだけで進めてしまうことがある

  • 自分の意識が飛んでるときでもタスクが進んでしまうため、気を抜くと取り残され、その部分の理解が進まない

  • メンバーに誰も得意な人がいないタスクの場合、グチャグチャっとした感じになるときがある(1人でやっていると冷静に対応できるとしても、ある種の同調圧力みたいなものが機能して、グチャグチャなまま前に進もうとしてしまう)

前者2点はお互いに確認し合いながら進めば防げるポイントではあるのですが、最後1点は正直なかなか難しいです。お互いに信頼し合える関係だったとしても、そうなった場合のルールを明確に定めておかないと、気付いたら沼にハマっています。

おわりに

メリット・デメリット色々あげましたが、冒頭にも書いた通り、続けられる限り続けていきます。今後は、デメリットとして挙げたポイントをいかにして解消していくか、というのを考えながら、取り組んでいきたいと思います。何か良い解決策が見つかった際は、またまとめてみたいと思います。

あ、最後に大事なこと1つ。(多分これが一番大事です。)

難しい課題を解決したり、所定のタスクが完了したタイミングで、みんなでバンザイをしましょう!! 喜びの共有!!

f:id:kaorr_mob:20171207224013p:plain