語ってみました。

どうしてモブプロをはじめたの?

太陽
雲
雲
雲
雲

EVOWORXのエンジニアのスキルアップとしてOJT、OFFJTの両方面から技術の向上を図っています。

OFFJTではインプットよりもアウトプットができるコンテンツになるよう意識して行っています。

今回は数ある中から人気コンテンツの一つであるモブプロの話をしてみたいと思います。

About mob programming

モブプロについて

まじめに楽しく学ぶ

モブプロは正式にはモブプログラミングと言われるプログラミングのやり方のひとつで、実際に作業する人(タイピスト)と作業を見る人(モブ)に分かれ同じパソコンで作業を交代しながらやっていきます。
子どもの頃にあーだこーだ言いながら友達とゲームを交代でやった経験があると思いますが、まさにそのプログラミング版と思っていただければ想像が付きやすいのではないでしょうか。

モブプロの内容

EVOWORXでは毎月1時間をモブプロの時間に当てており複数のチームに分かれ下記タイムスケジュールで行っています。

  • 話し合い(10分)
  • 作業(35分)

    ※2〜3人で1チームとし、7分ごとに作業者が交代

  • 振り返り(15分)

本からは学べない技術もある

モブプロの最大のメリットは他人の作業をリアルタイムに見て学べるところです。
普段、先輩が後輩のコードレビューをするなどして教えていますが、一挙手一投足までは追えないため作業を見ていないと気づけない点もあります。

また、細かな作業のやり方までいちいち教えてくる先輩と仕事をするとなると息が詰まってしまいますが、モブプロであれば作業している姿を見ているので、良いと思ったことはそのタイミングで言えるのでどんな些細な事でも自然に教えられます。

逆に先輩が後輩から学ぶことも少なくありません。経歴に関係なく誰もが学ぶ量には違いがありますが何かしらの気付きや学びを得られるのがモブプロです。

How to do mob programming

モブプロの流れ

01: 作戦会議

実際にモブプロをはじめる前に、どう設計するかの話し合いの時間を作っているのですが、この時間が結構重要だと思っています。
「CSSのアーキテクチャーはどうする?コンポーネントの粒度はどうする?」などある程度の方向性がお題クリアの秘訣に繋がるからです。
このようなところも癖付しておくと、実案件でもすぐに今回はBEMで書いてあるのかなど、アサインされたらまず何を見なければいけないかなどに繋がるのではと思っています。

またそれ以外ではアクセシビリティのことや、汎用性、更新性、様々な観点からどうアプローチするか考えていきます。
ボタン1つでも考えること多くあります。粒度の小さいコンポーネントの方が実は考慮すべきことが多くあったりします。
「複数行になった場合どうするか?文字数が多くなった場合はどうするか?複数ボタンが並ぶ時は?flexとgridどちらで作るべき?etc」などいろいろ話し合います。

02: いざ、モブプロ

実際に作業するときは、作業者は自分がやっている事を解説しながら実装します。他の人たちは、作業が止まってしまったりしたらアドバイスをして作業者をサポートします。

慣れないうちは見られながらコーディングするのがすごく緊張するという声が多くあげられましたが回を重ねるごとにみんな気にしなくなり作業に集中できているようです。

またよくある話ですが、作業に熱中しすぎて職歴が長い人がどんどん作ってしまって、結局他の人はあまり作業できないことがあります。

先輩たちは、コーディングの速さを見せ付けるのではなく、丁寧に解説しながらすることを心掛けているようです。仕様変更の時に対応がしやすくなる方法であったり、クラス名を抽象的にする場合と具体的に付けるときの違い。など作業よりも解説に力を入れているようです。

03: グループで振り返り

作業終了後は作業中聞けなかった事、疑問に思っている事の意見交換をします。
ここでも、質問することによって「そういえば、こういうやり方もあるよ!」とかいろいろな情報を聞ける場になっています。
組み方の違いで新たな発見があったり、組み方の反省点についての話しであったり次回に活かせそうな情報共有ができています。

04: 全員で振り返り

モブプロをする日はグループでの振り返りまでなのですが、違う日にチームで作成した成果物の発表する回があります。
そこでは各チームがどうのように作ったかや、悩んだ点を発表しみんなで話し合う事をしています。
そこで出た答えを共通解として実務にも反映しています。

スキルアップに力を入れる理由

今回はモブプロについて語ってみました。
少し大きな話しになりますがスキルアップをすることが「EVOWORXのブランド」に繋がると考えています。
ブランドを形成する要素として大きく分けると「見える部分」と「見えない部分」に分けられます。

一流ブランドが一流である理由として、デザインが認められる一方でしっかりとした「品質」が評価されていることがあります。品質は誰か一人がしっかり作れていれば良いという事でなく組織全体としていつでも一定のクオリティを保たれていなければいけません。
そのためモブプロをはじめいろいろなOJTやOFFJTに力を入れることによって得意なものをチームに還元し、その代わりに他のメンバーから新しい技術を習得し組織として一定の品質が保たれるようにしています。

「どうしてモブプロはじめたの?」
組織として強くなり個としても成長することを大切にしているからです。

募集職種

一緒にモノづくりをする仲間募集中