はじめに
こんにちは!コミューン株式会社でサーバーサイドエンジニアをしている安藤(@andnandna)と申します。
今回、私が所属しているチームでモブプロを実践してみたのでその方法や感想を紹介したいと思います。
モブプロが気になっている人や他の人がどうやっているかが気になるような方へ参考になれば幸いです。
モブプロ導入
導入まで
私が今所属しているチームではスクラムを実践しているのですが、その中での取り組みの一つとして"WIP制限"というものをしていました。
簡単に言うと「チーム全体で進行中にするストーリーの数を絞る」というものです。
(詳しい内容や背景などはこちらの記事をご参照ください)
チーム全員が同じストーリーに取り掛かるので、うまい具合にタスクがバラけていれば一人ずつ作業を進められますが、実装を切り分けづらかったりする場合もあります。
そういった場合にメンバー全員が一つのタスク(実装)に取り組む事になるため、必然的にモブプロをする運びとなりました。
また、メンバー内での知識の伝播も目的の一つとしてありました。
改善の機運
さて、モブプロやってみよう!となったはいいものの、とりあえず集まって、VSCodeのLiveShareで誰かの環境に入り、一人が書くのを眺めつつ軽く会話したり、各々必要そうな所を判断して書いていたり…とちょっと雑な状態でした。
そのような状態なのでチームの振り返りで一人が書き続けてちょっとしんどいという意見が挙がったり、各々書いていたりするので知識の伝播もできていなかったため、一度やり方など調べてきっちりモブプロをやってみようという方針になりました。
モブプロをどうやったか
きっちりモブプロをやってみる上で、一通りやり方を調べた結果「モブとタイピストパターン」をやってみる事にしました。
大まかに説明すると、
- チームがタイピスト一人とモブその他に分かれる
- タイピストはモブの指示を打ち込むだけ
- モブは実装を協議し、タイピストに伝える
- 10分程度でタイピストを交代して回していく
というものです。
(参考にしたのは以下の二つの記事です。)
note.com
aloerina01.github.io
おそらくこれが一番有名な方法だとは思いますが、役割がわかりやすいことや全員で一つのことに集中できる点にメリットを感じ採択しました。
手法が決まったので、これを基にストーリーの中で実装方針が大まかに決まっているタスクを選び、4人でモブプロをやってみました。
まずはじめに今回実装するタスクを確認して、不明点などがあればお互い質問しあって全員の認識が同じになるようにしました。
その後モブとタイピストへ分かれ、モブ達でどこから実装するか相談し、書いていく内容も細かくタイピストへ伝えました。
(ルール的な理想は一字一句伝える形ですが、共通認識が取れてる物は少し簡単に伝えたりもしました)
初めに実施したのは1時間の枠だったので実装が完了はできませんでしたが、慣れないながらもルールがきちんと決まっていたおかげか進行はスムーズに進めることはできました!
何を得られたか・改善点
上記のような形で何度かモブプロを実践してみて大きく感じられたメリットやデメリットがあるので、紹介しようと思います。
まずはメリットからです。
知見の共有
チーム内で技術力の高いメンバーのコーディングを自分の手で行えるので、ただコードを読んだりするより身に染み付きやすいと感じました。
また、知らなければ知らないようなVSCodeの小技なども共有できるのも小さいながらも生産性の向上に寄与したと思います。
レビュー速度の向上
一緒に実装をしているため、変更した箇所や関連箇所・処理の流れも掴めているので、コードレビューの速度が向上してリードタイムの減少に繋がりました。
WIP制限の確度向上
導入で触れたWIP制限ですが、一人ずつタスクをアサインするとどうしても人手が余る場面もあり、制限を破ってしまう事もありました。
それがモブプロをすることで全員で一つのタスクに向かえるので、WIP制限のメリットをより受けやすくなりました。
大きなメリットは上記の通りですが、少し改善できる点もあったのでそちらも以下に紹介します。
レビューの見落とし率が少し上がる
メリットでレビュー速度が向上することを挙げましたが、概要がわかっている分細部の見落としが発生することがありました。
そのため、モブプロで完成させたコードには非参加者を必ずレビュアーに一人は指定するようにすることにしました。
モブが全員わからないとモブプロが止まってしまう
手法としてモブが実装内容を考える流れですが、実現したいことに対してモブ全員がわからないとモブプロが止まってしまう事がありました。
そうした場合には、タイピストにアイデアがあるなら交代したり、タイピスト全員がわからなければ調査の時間を設けるようにしました。
まとめ
今回モブプロをチームで実践してみて、フロー効率の向上やメンバーの学習も行えるという良い結果になりました。
改善点もありましたが、都度モブプロの振り返りをして自分たちのチームに合ったモブプロを作っていければと思います!
さいごに
エンジニア募集中!
コミューンではエンジニアを募集中です!
commmune-careers.studio.site