1
/
5

エンジニアチームで実践したモブプログラミングの話

はじめまして!スパイスファクトリー(以下、スパイス)でエンジニアとして働いているTです。

今回は私が所属しているDigital Service Development Div.(以下、DSDD)で行っているモブプロについて、導入した経緯・取り組む上での工夫・その魅力を紹介いたします。

モブプロとはチーム全体で一つのプロジェクトを対象に、モブ(実装方針を議論し決定する人たち)と、タイピスト(モブの指示を受けてコードを書く人)に分かれて開発を進めていく手法です。知識共有・実装方針の議論が活発に行われるため、チーム全体のスキルアップが期待できます。

DSDDでは半年ほど前からRuby on Railsを題材にしたモブプロを実践しています。


# なぜモブプロを導入したのか

スパイスの会社規模は現在急速に拡大しており、直近の1年間で27人ほどの新規メンバーがジョインしました。当然私が所属するDSDDの規模も大きくなっており、そうした中でインターン生や未経験でジョインしたメンバーのスキルアップが必要な状況にありました。

そんな中DSDDの一人のエンジニアの発案により始まったのがモブプロです。スパイスで最も用いられている開発言語の一つであるRuby on Railsを題材に、チーム全体のスキルアップを図るため実施が決まりました。

# モブプロに取り組む上での工夫

現在は週に1度、〜10人の規模でモブプロを実施しています。
参加者はインターン生から経験豊富なエンジニアまでとスキルのばらつきが大きく、また初期段階からフルリモートで実施しています。こうした状況の中、モブプロでの学びを最大化するために次のような工夫をしています。

## 全員で議論をする

フルリモートということもあり、初期段階はなかなか発言しづらい雰囲気がありました。というのも普段の会議では発言者以外がミュートにするのが常であるため、それと同様多くのメンバーがマイクをミュートにしており、寂しげな雰囲気をつくりだしてしまっていました。

そこでマイクは常時ONにする、初歩的な質問でも気にせずに質問してOKというルールを決めました。またモブプロを始める前に、「モブプロの目的は最短距離で実装を行うことではなく参加者のスキル向上にある、なので遠回りになることを気にせずにどんどん質問・提案してほしい」という話を繰り返し伝えるようにしました。

その効果もあってか現在は、参加者が気軽に発言しざっくばらんな議論ができるような空気感を実現できていると思います。

## 実案件以外のコードを題材にする

当初は実案件のコードを題材にしていましたが、モブプロを週に1度しか行っていないこともあり、毎回大きく変わるコードの状況把握に多くの時間を費やす必要がありました。
そこで思い切ってモブプロ用のプロジェクトを別途用意しました。こうすることで状況把握にかかる時間を極力減らすことができ、もともと10分以上かかっていた状況把握が、現在では5分もかからず完了できるようになりました。

## 学びが少ない部分に時間をかけすぎない

1時間という短い時間の中でやる以上、無駄な時間を使わないということはとても重要です。

例えばgemの導入やテスト環境の構築はほとんどが定型の作業です。
その割にちょっと詰まると解決に時間がかかってしまうこともあり、かかる時間のわりに学びは少ないです。こうした状況を避けるために、定型の作業は経験のあるメンバーが次回までに終わらせておき、冒頭で作業内容の概要だけを共有する形にしています。

また、いくつか実装方針の案が挙がり十分議論をした上であとは決めの問題という時に、意思決定者がおらずなかなか方針が決まらないという状況も起こりがちでした。現在はアンケート機能を利用して多数決でさくっと意思決定してしまうことで、こうした状況を避けるようにしています。

# モブプロの魅力

以上のような試行錯誤をしてモブプロを実践するなかで、私自身多くのことを学ぶことができました。
特に次のようなことは大きな魅力だと感じています。

## 普段関わる機会が少ない部分にも触れられる

普段案件に関する開発を行っていく中で、DB設計を行ったりルーティングの規則を検討する機会はそれほど多くありません。一方モブプロは実案件と切り離された小規模なプロジェクトを題材にしているため、こうした部分にも触れることができます。

また、進め方の部分でもTDDを採用したり、Ruby3.0で導入された型定義の利用に挑戦するなど、興味のある概念をすぐに試すことができる点が魅力です。

## 上級者のスタイルを学ぶことができる

プログラミングをする時、上級者ほど様々なことを考慮しているものです。可読性・保守性に配慮する様子や、Model, Controller, Viewの役割の違いを明確に意識し、場合によってはPresentation層・Service層の利用を検討する様子などから、自分に不足していた多くの考え方を学ぶことができました。

またIDEやGitの使い方に至るまで、上級者のプログラミングのスタイルを間近で見られる点も魅力の一つだと思います。


# 最後に

ここまで読んでいただきありがとうございました。今回はスパイスでモブプロを導入した経緯・取り組む上での工夫・その魅力についてご紹介しました。

スパイスではRuby on RailsをはじめReact・AWSなどを基盤技術にした開発を行っています。
これらの技術に興味のある方はぜひご連絡ください!


スパイスファクトリー株式会社
世界がより良い方向に向かう"触媒"であることをビジョンとし、他の先進国に比べてデジタル化が遅れていると叫ばれる日本において、より社会貢献性・公共性の高い領域でのDXを促進し、デジタルの力を使っての社会課題解決を目指しています。代表を含めエンジニアが4名で立ち上げ、創業以来5年間、売上高は継続して150%成長。人数も直近1年間で2倍の60名規模になっています。

★スパイスファクトリーのコーポレートサイトはこちら
★採用についてはこちら

スパイスファクトリー株式会社では一緒に働く仲間を募集しています
同じタグの記事
今週のランキング
スパイスファクトリー株式会社からお誘い
この話題に共感したら、メンバーと話してみませんか?