ペアプロ・モブプロをやってみた話

3行で言うと…


今週のブログの担当、石川です。3月になり、いよいよ春だなあと思うのと同時に、花粉の恐怖を感じています。

今回のブログでは、社内でシステム開発をする中で行なっている、ペアプログラミングやモブプログラミングについて、実際にやってみて感じたことなどを書こうと思います。



ペアプロ、モブプロとは??

ペアプログラミング

2人のプログラマが1台のワークステーションを使って共同でソフトウェア開発を行う手法。実際にキーボードを操作してコードを書く人を「ドライバー」、もう1人を「ナビゲーター」と呼び、ドライバーの書いたコードを横からレビューしていったり、改善案を出したりする。

モブプログラミング

ペアプログラミングと似ている。2人でなく、チーム全体(もしくは複数人)でプログラミングをすること。



モブプロ・ペアプロにトライした理由

出退勤管理システムを開発するプロジェクトの中で、システムの完成以外にチームメンバーの技術的成長を目標として挙げていました。今回はチームの中で知識・技術を共有するためにも、積極的にモブプロ・ペアプロをやってみることにしました。

実際にやってみて

ドライバー

ナビゲーター

その他

また、こんなこともありました。




以前のKPTの写真

挙げられたProbrem ドライバーから操作(マウス)を奪ってしまうことがしばしば…
それに対するTry マウスを遠ざけるという荒療治

「ちょっと貸して」が必ずしも悪いわけではない(むしろ言葉で伝えにくい時は実際に動かした方が早い)とは思いますが、頻度が高かったのでこのように対策をしました。



こうして、実際に複数人で作業をしてみて、課題だと感じた点は改善しながらプロジェクトを進めています。

一緒にペアプロなどを行なった社員の感想も聞いて見たところ、「色んなプログラムの書き方を学べる」「不安な部分を確認しながら進められる(聞きやすい)」とのことでした。ただ、ナビゲーターから「ああ書いて、こう書いて」と指示を受けながらコードを書く場合は、その時点ではどういう動きをするのかわからないまま書いてしまうこともあったとのことで、もう少しナビゲーターの誘導の仕方も考えなければと思いました。

各々がコードを書くよりは書ける量も少ないとは思いますが、全員の同意を伴って進むことで手戻りが少なくなったり、ある程度のレビューはその時点で済ませられたりという点もあるのでそこまで大きな違いはないような気がしています。また、その分コードのクオリティが高くなったり、効率よくコーディングを学べたりといった良い点がそれを補って余るほどにあると感じています。

人の書いたコードを本人もしくは別の人に説明する

話が逸れてしまうのですが、ペアプロ・モブプロ以外にも、プロジェクトの中で「人の書いたコード(プルリクエスト)を本人もしくは別の人に説明する」ということも試して見ました。

説明する側

説明される側(書いた側)

これも結構面白かったので、今度またやって見たいと思っています。

今後



今後も開発の中で様々なことに挑戦して、より良い形で開発を進めていきたいです。

こちらの記事もオススメです!
お問い合わせをもとに「よくある質問」を掲載するRedmineを使った業務フロー
My Redmineのお客様からの質問をFAQに掲載しています。
最近制作したノベルティグッズたち
最近制作したオコメール、シャイニーバッグ、卓上カレンダー、ステッカーを紹介します。
JANOG41ミーティング出展報告 Redmineによるインシデント管理デモを初展示
CSIRTやSOCなどのインシデント管理のデモを行いました。
Microsoft Officeに代わるフリーソフトウェア「LibreOffice」を使ってみた
Microsoft Officeに代わるフリーソフトウェア「LibreOffice」をお勧めします。
Redmine公式サイトで作ったチケットが300件に達したので10年間を振り返ってみる
10年間Redmineの開発に参加しています。
ファーエンドテクノロジーからのお知らせ(2018/7/5更新)
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け