モブの外から見たモブプロってどう?っていう話
こんにちは、ファームノートでwebエンジニアをしている永沼です。開発グループ内で実施しているリモートワーク下でのモブプログラミング(以下モブプロ)について紹介する記事が先日公開されました。
今回はこちらの記事の補足として、実際にモブに参加しているメンバーではない人から見たモブプロってどんな感じなの?という視点での話になります。
中から見たモブプロ、外から見たモブプロ
こちらは以前モブプロを含むモブワークをはじめた最初の頃に書いた記事です。こちらの記事を書いた2019年から時は進み、いま2021年10月現在も開発チームでは引き続きモブプロを実施しています。
一方で私は主にチームをマネジメントする役割となり、現在ではモブに実装メンバーとして参加することはほぼなくなりました。ということでモブの外から見たモブプロの話をします。
どんな感じでやってるの?
現在のチームでは私+エンジニア4名+テスター1名で社内の主要な製品であるwebシステムのフロントエンドとバックエンド、スマホアプリ、いくつかあるサブシステムを開発しています。各メンバーは帯広、東京、札幌に分かれており、常時meetのビデオ通話 + vs codeのLive Shareで繋いで開発を実施しています。
2021年10月時点ではこのうちエンジニア3名が業務時間のほとんどをモブで作業し、他のメンバーは個々に業務を実施しています。モブで作業していないメンバーもmeetのビデオ通話には入っていることが多いです。
なんでモブプロしてるの?
モブプロは"効率的"ではありません。複数人でひとつの課題に取り組むので、並列に進める課題は少なくなるし、かと言って開発速度が2倍や3倍になることもありません。
ではなにかというと教科書的にはモブプロではリソース効率ではなくフロー効率を重視していてリードタイムを短縮することが大事な場合に効果的なんだよという話になっています。
・・・が、私達がなぜモブプロを採用しているかというと、フロー効率を重視しているからというよりは既存のコードや仕組みが巨大で複雑なものが多いのでひとりで立ち向かうにはつらすぎるからという方が実態に近いと思います。
これらの複雑さをなんとかしていくのは今後の大きな課題です。。。
常時コミュニケーションが発生する場所として嬉しい
モブプロはコミュニケーションを発生・促進させる場所になります。これはリモートワークの環境ではかなり重要なポイントです。
・常にコミュニケーションしながらの作業なので孤独感が少ない
・理解度の異なるメンバーが集まることでドメインや既存コードへの理解、学習が進みやすい
ファームノートでは複数拠点に開発メンバーが分かれているためコロナ以前からリモート環境で作業する機会が多くありました。地理的に離れたメンバーに気軽に声をかけるのは心理的に難易度が上がり、コミュニケーションが疎になりがちです。現在はさらにリモートワークが進み、週のほとんどの時間で自宅から作業をしています。
この状況で私がチーム内でのコミュニケーションに起因する問題をあまり感じていないのはこのモブで作業をしている場が中心にあることの影響が少なくないように感じます。
----
そういえば、雑に相談したりできる環境って大事だよね、みたいな話しは以前からチームでしていたのでした。
(なんなら週に1時間くらい雑談の時間を設けていたりするのでコミュニケーションの話はモブだけでもないかもしれないな・・・)
外から見ている立場としてもモブプロはよさそうですよ
というわけでコミュニケーションの話を中心として、いまのところ外から見ている立場としてもモブプロはよい効果があります。
なんというかこれは感覚的な話なのですが、モブをしているチームは"安定する"ので、多少難易度が高く複雑な課題でもお任せできる度合いが高いように感じています。