Intellijのプラグインを使用して、モブプログラミングを試してみた
はじめに
最近、私たちのチームではモブプログラミングを導入してみました。
その際に、モブプログラミングとIntellijのプラグインを使用してみたので、使用方法などを簡単にまとめました。
モブプログラミングの概要
モブプログラミングは、チームメンバーが同じコンピュータを共有しながら行うプログラミング手法です。
一人がドライバーとしてキーボードを操作し、他のメンバーがナビゲーターとして協力しながらコードを共同で開発します。
モブプログラミングを採用すると「全員で同じタスクに取り組む 」ため,複雑な Git ブランチ戦略は必要なくなります。
プラグインを活用したり、mob
コマンドを使ったりすると、ドライバーの交代が容易になり、
リモートワーク環境でも、モブプログラミンを円滑に進めることが可能です。
チーム開発でのモブプログラミングの利点
モブプログラミングは、チーム開発においていくつかの重要な利点をもたらします。
第一に、知識共有と協力が促進されます。
チームメンバーが一緒に作業することで、アイデアやスキルがリアルタイムで共有され、全体のプログラミング能力が向上します。
また、バグの早期発見や品質向上にも寄与します。ナビゲーターがドライバーのコードをリアルタイムでレビューし、潜在的な問題を素早く特定することができます。
プラグイン
Intellijにはモブプログラミングをサポートするプラグインがあります。
このプラグインには、ドライバーとナビゲーターの役割切り替え、
タイマーによるターンの制御、コード変更の履歴管理、コミットメッセージの作成など、さまざまな便利な機能があります。
これにより、チームメンバーはスムーズに役割を切り替えながら開発を進めることができます。
mob コマンド
上記のプラグインは下記のコマンドのサポートツールとなります。
実際に今回画面上で紹介する説明は、下記の操作と同様になります。
mob start
開始する時に使用(ドライバー交代時に最初に使用)
mob next -m "commit message"
コミットする時に使用
mob done
モブセッションを終了する時
設定
WIP Branch Name
を変更すれば、mob-session
以外のブランチ名も使えます。
Base Branch Name
は、チームで適切なブランチに変更できます。
開始する時(ドライバー交代時に最初に実行)
- Git > Mob > Start Mob Programming as Typost… を選択します
- 設定を確認し、OK を選択します
コミット
開発を進めて,コミットする時に、下記を実行します。
コミットメッセージはデフォルトだと mob next [ci-skip]
となります。
挙動としては、git add
、git commit
、git push
をしてくれます。
- Git > Mob > Next: Handover to Next Typist… を選択します
- 設定を確認し、OK を選択します
終了時
開発を終了するときに、下記を実行します。
挙動としては mob-session
ブランチをgit push
をして,さらに Base Branch に git merge
するようです。
チームでは、プルリクエストを作る運用にしていたため、こちらは使用しませんでした。
まとめ
私は、プラグインを利用する前に、mob
コマンドを使っていたので、
そちらと比較しても、遜色なく使えました。
コマンドを打ったりするのが苦手な方だったり、
GUIで操作したい方などは、プラグインを利用するのもいいと思いました。
(VSCode用もあるようです)
Discussion