このブログをご覧のみなさん、こんにちは。

切欠

切欠はこちら

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

モブ・プログラミングは一台の PC を全員で共有して一つのプログラムを作成する手法です。

自分がモブ・プログラミングを知ったのは 2017/1/12-13 に行われたReginal Scrum Gathering Tokyo 2017のキーノート内での紹介になります。

実践

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

環境

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

やり方

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

実践した感想

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

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