巷で噂のイケてるプログラミング手法があると聞いて、会社の同期+後輩を誘って、もぶもぶ会を開催しました。
やったこと
- メンバー:6人
- 設備:50型くらいのモニター+プロジェクタ
- お題:フルスクラッチでdiffコマンド(文字列比較)を作る
- 使用言語:使ってみたい人が多かったpython3
- ドライバー交代:mobsterを使って、時間区切り
時間 | 内容 |
---|---|
13:00 - 13:05 | 前説 |
13:05 - 13:15 | 使用言語とお題の決定 |
13:15 - 14:15 | モブプログラミング1週目 |
14:15 - 14:55 | 1週目振り返り & 休憩 |
14:55 - 15:10 | 設計 |
15:10 - 16:50 | モブプログラミング2週目 |
16:50 - 17:00 | 振り返り |
わかったこと(1週目)
- 思ったより楽しかった。
- すぐバグ解決していぇええええ!感があった。
- 他人のコードの書き方がわかる。
- ネーミングなど。
- ゴールが共有できていないとダメだよね。
- 設計してないよね。
- 時間取って設計はやらないとダメなんじゃない?
- 何をどうするか考えていないと迷う。
- 取り残される感覚はなかった。
- 一人でやるより手際よかった。
- 他の人が調べてくれるのがうれしい。
- チーム単位で見るとどうなのか?
- 生産性はいいのか悪いのか?
- 置き去りになるとしんどい。
- ついていけない時がある。
楽しかった、一人でやるよりうまくできた、というポジティブな意見がある一方、
とりあえずで初めて途中で迷子になったよね、一度置き去りになるとしんどい、というネガティブな意見もありました。
次にやること(1週目)
- 設計する
- 10 - 15分くらい
- 取り残される人が出ないようにする。
ということで、2週目に入る前に、設計する時間を作りました。
15分くらいでざっと全員の認識を合わせ、2週目はテストも書こう、ということでTDDでモブプログラミングを進めました。
わかったこと(2週目)
- 今回はみんなに助けてもらえたけど、現場では助けてもらえないので、課題がある。
- コミュケーションの差が出そう。
- 付いてこれない人を引き上げようとした。
- 自分たちがやっていることを共有しながら進めることができた。
- 笑いが多くなった。
- エラー発生時に誰かがすぐ解決してくれる。
- バグが誰の責任にもならない。
- スキル低い人もレベルアップできそう。
次にやること(2周目)
- もう1回モブプログラミングやりたい。
- テーマは誰かの持ち込みか、モブプログラミングをもう1回やる、という場を作る。
- TDDはもう少しやりたい(初経験者より)。
ここで、今回のもぶもぶ会はお開き。
2週目では、1週目の課題を解決しながら、新しいこと(TDD)を取り入れることができました。
まとめ
今回、もぶもぶ会と称してお試しでやりました。
問題解決の速さや、楽しい、ということもありますが、スキル・知識の共有が加速されることに意義を感じました。
2周目の最初は、私が「先にテストを書くんだよ」などと言いつつ進めていたのですが、途中からは、メンバーが勝手に、お互いに注意しながら、TDDを進めていました。
何番煎じかわからないですが、それでも、誰かに共有したくなる、楽しくてイケてるプログラミング手法でした!!!