aratana Tech blog

ECテクノロジーで 世界をもっと楽しく もっと笑顔に

ペアプログラミングを全面的に採用して1ヶ月が経ちました

こんばんは。夜のニシタチ。木目沢です。

この記事はaratana advent calendar 20184日目の記事になります。

f:id:kimesawa:20181203161504p:plain

aratanaの開発チームでは全面的にペアプログラミングを採用し、1ヶ月が経ちました。

今回はペアプログラミングを始めた経緯や効果をお話できればと思います。

始めた経緯

もともとは、新規加入のOJTや技術的スパイクを実施する際にモブプログラミングを採用していました。 そんななか、チームの初期メンバーが関連する別々のプロジェクトに入ってしまい、残った経験値の低いメンバーで引き続きプロジェクトを進めていかなくてはいけない状況になってしまいました。

そこで、うまく行っていたOJTでのモブプログラミングの成果を活かして、今度はペアプログラミングで経験を積みながらやっていこうとはじめました。(モブプログラミングで通すのはさすがに進みが遅くなるかなと・・・)

やり方

  • ペアで一台のPCを使って作業する。(1時間ごとに指示役・ドライバーを交代するなどは振り返りによって試したりしています)
  • ペアは毎日交代する。
  • 前日やったことは朝会で共有する。
  • 毎週月曜日にその週にやることは決める。
  • 1人余った場合は一人で作業。次の日は引き続き同じ作業をしながらペア相手に共有する。

f:id:kimesawa:20181203160725j:plain

想定していた効果

  • 共有だけをする時間が減る。毎日ペアを交代するので、この件はこの人しか知らないとかがなくなる。
  • 全員が理解しながら進むので、各メンバーのレベルが上がる。
  • 誰かが休んだり出張になっても進捗がある。

想定以上の効果

  • 一人1タスクを進めるよりもしかしたら早いのではないか?

2人で集中している時間が多く、一人でやるより進みが早い、悩む時間が減ったり、共有の時間も不要、レビューの時間も減る、テスト書くのも忘れない・・・というのを考えると一人でやるより早いのではないでしょうか?計測していないけど・・・

  • チームが自立した機構として動き始めた。

全員が全て共有されているので、問い合わせや質問など全員が答えられる状況に。また、ペアで話し合って次にやることを考えられるので、なにやればいいですかという質問はなくなりました。このタスクは誰にやってもらう?という問いもなくなりました。チームとしてこれをやるというのがはっきりしてきました。

  • 振り返りが個人の振り返りでなく、チームとしてのカイゼンをするようになってきた。

当初は個人としてこれがよかった、こうしたいという振り返りが中心でしたが、今はかんばんをこうしたいとか、チームとしてこういう時間が必要など、チームとしてカイゼンを促す振り返りができるようになりました。

f:id:kimesawa:20181202235946j:plain

(写真は朝ペアを決める前、今日やることを協議しているところ)

やってみないとわからないことが多い

ペアプログラミングの効果は本当やってみないとわからないです。 自分たちのチームは必要に迫られ自然とペアプログラミングをするようになりましたが、やってみたいけど、利点を理解してもらえないなどは普通にあることかと思います。

まずはやってみる。ちょっとだけでもやってみる。 その際にこの記事を参考にしてもらえると嬉しいです。