(なんちゃって)モブ・プログラミング(もどき)でスキル伝授をしてみた

切欠

切欠はこちら

モブ・プログラミングとは?

モブ・プログラミングは1台のPCを全員で共有して一つのプログラムを作成する手法のようだ。
自分がモブ・プログラミングを知ったのは2017/1/12-13に行われたReginal Scrum Gathering Tokyo 2017のキーノート内で紹介されていた。

実践

ちょうど、昨日、偶然に実践する機会があったので、モブ・プログラミングだとどうなるのかな?と思い、実践してみた。

環境

  • 人数:3名(学生2名、自分)
    • 学生1名は自分の知り合い、もう1名は初対面
    • 自分の知り合いの学生は以前一緒にペアプロをしており、ある程度プログラミング能力はある
    • もう1名はプログラミングが苦手で、書籍などを“読んで”学んでいる
  • 場所:Starbucks
  • 機器:MacBook Air1台、大型ディスプレイなし

やり方

  • Driver
    • 自分がいまやろうとしていることを話ながらコードを書く
  • Navigator
    • Driverのやろうとしていることについて議論する
      • それいいね!
      • そこはこうした方が良いんじゃない?
      • それの意図を教えてもらえる?
    • 言葉で意図を伝えられない時は紙に書いたり、コードで表現したりする

実践した感想

  • ペアプロと異なり、人数が奇数でも実施できる
  • 情報共有がし易い
    • 以前ペアプロをした時よりも短時間で学生のレベルが向上した(ように見えた)
  • 一人で作業するのに比べて疲労度が高い
    • 特にペアプロもしたことない人は疲労度が高かったので、適切なタイミングで休憩を挟むのが良いと感じた
  • 時間当たりの成果物の品質がよい
    • 別途コードレビューやPull Requestでレビューする場合、「いまからそこ修正するの!?」みたいなことが起こるので、そう考えると全員で作り、CIさえ通ればマージして良いというのは時間当たりの成果物の品質は良いなと感じた

自分自身がまだモブ・プログラミングというやり方に慣れていない影響か、毎日モブ・プログラミングでやるのはしんどそうだなぁと感じた。