モブプログラミング Advent Calendar 2018 17日目の記事です。
社内の有志数名でモブプログラミングを行う機会がありました。
今までは、ある程度時間を共にしたチーム内でのモブプロしか経験したことがありませんでした。
今回は今まで同じチームになったことがなかったメンバーも含んでモブプロをしました。
どんな感じでやったのか、よかったことなどをまとめようと思います。
#私自身のモブプロ経験
- 所属していたチーム内ではモブプロ、ペアプロ、ソロ活動を使い分けてきた
- ペアプロは約2年ほど前から取り入れている
- モブプロは半年ほど
モブプロへの個人的な感想(今回のイベント前)
- タスクが止まらない、技術の共有ができる、などのメリットを感じている
- もっといいモブプロのやり方があるのでは?もっと「すごい!」とか「楽しい!」みたいな気持ちを感じられるのでは?という疑問はある
#当日のメンバー
3人
- みんな同じ会社
- 顔は知っているし、話したこともある
- うち2人は同じチームだったことがあり、モブプロもやったことはあったが常にモブプロをしていたわけではない
- 経験技術、年次はバラバラ
#当日やったこと
やったこと
- t-wadaさんのTDDの動画(一部)を全員で視聴
- JavaでFizzBuzz
- GoでFizzBuzz
- GroovyでFizzBuzz
環境
http://cyber-dojo.org/ を使いました
モブプロやり方
- 5分でドライバー交代
- (確か)3セットで5分休憩(あやふやです・・・)
- 全体で約2時間30分
- 途中お昼休憩1時間
####1.t-wadaさんのTDDの動画(一部)を全員で視聴
50 分でわかるテスト駆動開発 の一部を3人で視聴しました。
TDDに対する気持ちが高まります。
####2. JavaでFizzBuzz
動画を見終わった後、JavaでFizzBuzzをしました。
まずは動画で見たTDDを再現してみよう!ということで全員書いたことがあったJavaを使いました。
とはいえ、現在Javaを使っているわけではなかったので、「数値にするのどうするんだっけ?」とか、「あっ、var じゃないんだった」とか、わいわい思い出しながら進めます。
####3. GoでFizzBuzz
次はだれも使ったことがない言語を使ってみよう、ということでGoを選びました。
Goを選んだ理由はとくにないです(その場にいた3人以外のもう一人に決めてもらいました)。
「テストの実行すらできなくなった!」や「これ使えるのかな?」など、わいがや度がどんどん増します。
####4. GroovyでFizzBuzz
Goで一通り書き終えたため、Groovyでも同じことをします。
「ここはRubyっぽい」など、お互いのバックグラウンドの話がちょいちょい出ながら進みます。
#感想、気づき
####楽しかった!
とにかく楽しかったです。
みんなが知らない言語を用いてテストがグリーンになったときとかうれしいです。
####経験関係なくわいわいできる
みんなが知らない言語を使うことで経験年数等関係なくわいわいできる場面が多かったように感じます。
FizzBuzzという内容が理解しやすいものだったことも理由の一つだと思います。
また、みんなが知らない言語とはいえ、今までの経験から助言できることがあったり、教えてもらえることがあったり、という部分もあり、お互いの今までの経験を感じることができました。
####初めてモブプロしようと思っているチームでやると良さそう
知らない言語でFizzBuzzを行う、という方法は、モブプロの良さを感じられる方法の一つだと思います。
メンバーが不慣れな言語でを使うことで、会話が促進されますし、一方でFizzBuzzというわかりやすいもののため、進めることができる、という点がよいなと思いました。
ウォーミングアップ的な感じで取り組むとモブプロのやり方を学ぶことができると思います。
####目的、目指すところが一致することがやっぱり大事
今回は、FizzBuzz(解が明確なお題)、TDDのやり方を動画で見る、という部分を通して、全員が目指すところのイメージがあっていたことが、楽しかったりうまく進んだ要因ではないかと思います。
とくにt-wadaさんの動画はやり方だけではなく、どう考えたのか、という点が多く出てくるので、思考する部分のイメージも合わせられたと思います。
普段であれば、このイメージのすり合わせもモブプロの中でやっていくことになると思います。
今回、「目的、目指すところが一致することがやっぱり大事」ということを改めて感じることができたので、今後に活かしていきたいです。
####他のチームでのやり方を学ぶことができる
今回のメンバーは、各々のチームでモブプロをしたことがあったメンバーでした。
そのため他のチームでのモブプロのやり方や雰囲気に触れることができました。
もともと私が疑問に思っていた「もっといいやり方あるんじゃないかな?」や「モブプロってもっと効果あるんじゃないかな?」ということについて気づきを得られました。
#感動したこと
###止まることがない流れ
今回、「止まることがない流れ(かつちょうどよい圧)」を体験できました。
そのときそのときの場の状況によると思うので、偶然といったら偶然だったと思うのですが、いつも一緒にはいないメンバーだったからこその部分もあるかなと思います。
今まで経験してきたモブプロは、どちらかというと「時間がきた、交代」の繰り返しで、交代がくるとちょっとリセットされるような感じを覚えていました(私個人の感想です)。
今回は、本当に思考が途切れることがなく、水が流れるような雰囲気を感じられました(私個人の感想です)。
もちろん、どちらにもよさはあると思います。今回は今まで感じていなかった感覚を感じられて、とても感動しています。
#まとめ
- 新しい言語でFizzBuzz楽しい!
- チーム外のメンバーでもモブプロできた!
- (意図はなくても)チームに閉じこもってしまいがち。チーム外のメンバーとわいわいする機会大事