1台のコンピューターの前に数人が集まって、
ひとつの問題を協力して解決することなんです!!
まずはモブプロしている人たちのリアル映像をみて雰囲気を掴みましょう!!
成長していかなければならない…
そう…オレたちは登りはじめたんだ…
この永い永いエンジニア坂を…
- 初心者:特定のスキル領域の経験がほとんど、あるいはまったくない。レシピで明確な手順を示すことが望ましい
- 初中級者:ある程度の経験はあり、プロセスから少し外れても困らないが、全体像が見えてこない
- 実力者:スキル領域に対してかなりの経験を積んでおり、自力で問題を解決できる
エキスパートにアドバイスを求め、そのアドバイスを効果的に活かすようになり始める- 習熟者:全体像をつかみたいと思い、そのために努力する。自分が選んだ方法について深く考え、修正を加えて次はもっとよい成果を挙げられる
- エキスパート:全体像を深く理解しており、直感で正しく行動できる
モブプログラミング ベストプラクティス P159より
言葉で説明するのが難しいので、5分程度の動画を一緒にみてくださいっ!!
The Simple Solution to Traffic
- 知識の共有
- 未知の未知に気がつくことができる
- 属人性からの脱却(そもそもプロジェクトはチームみんなで保守するもの。チームみんながヨシヨシできる状態になっていたい)
- 品質の向上
- 早くリリースをできたりもするよね
タイピストは常に一人で、インターバルでローテーションします
= 友達の家に集まって一つのリモコンでゲームを遊ぶような感覚です
- 時間を決めて交代(10分とか)
- キリがいいところで交代
- 変わってほしい時に「変わって!!」でもOK
- モブからの要請を理解すること
- 要請の意味がはっきりしないときには、はっきりさせるための質問をすること
- 要請をコード化すること
- モブを信頼し、自分では通常試さないようなアプローチを躊躇せずに試すこと
- ショートカットキーやほかの人のツールの活用方法などの新しいことを学ぶこと
- ❌自分の考えをコードに書き込んではいけない
- 問題解決のために力になること
- 理解できるまで質問すること
- モブ全体の理解水準を上げるために貢献すること
- 目の前の問題に集中すること
- 必要な情報を予測すること
- システムの改善点を探すこと
- タイピストはやることをとにかく口に出す
- 「分からない」を堂々と表明する。大事なチームの貢献です
- ほかのメンバーと同じ視点をもつ(共感が大事)
- 相手を否定、非難しない、からかわない、ふざけない
- 傷ついた人がいれば全員でケアする
- 怖がっていることをオープンにする
- 安心感を与えることを心がける
- 失敗、無知を受け入れ大切にし、共に乗り越える
- 質問は奨励されている
- 無知がさらけ出される質問は学習を加速させる
- ほかのメンバーの学習機会になる
- ただし、質問の中にはすぐ答えたほうがよいもの、後から答えたほうがよいものがある。後者ならそのことを告げて安心させ、保留した質問には必ず答える
- 新人の学習を最大限に後押しする
- 時間的制約を明確にする
めちゃくちゃ嬉しいヤッターーーー!!!!
- 最後にダイジェストする機会を設けましょう
- 記録する(とりま社内共有wikiに記録します)
🤔他の人が問題解決するところを見ているときは、深く関わっているときほどの経験が得られない
- 試しに同じ作業をモブにさせるとすぐに息詰まる
- 実は学習が浅いものになっている
※モブプロという定義ではそうだが、
※弊社では情報共有したり、幅広く利用していくのはありかもしれない
※なにせモブプロはそれ自体が実験的に行うもので、相談して変化していくものだから!!
同じ立場で向き合える課題が無難!
例えば参加者みんなが関わってるプロジェクトだったり、そのフレームワークが該当します🤗
課題が思いつかなかった時のお題
- TDD Boot Camp(TDDBC) - TDDBC
- ペアプロ・TDDの『お題』をまとめてみた #tddbc #coderetreat #pp_con - Diary of absj31
- CodeKata
- マニュアル、チュートリアルを読むときはグループではなく一人で行う時間を設けた方が効果がでやすいそうです
- 新しい言語を学ぶような場合には向かない。一人でやったほうが効率がよいそうです
- 疲れないためにできること
- 定期的な休息
- 自分の状態を知らせる(疲れたから休みたいとか言う)
- ほかの仕事をしてもよい
- お菓子食べててOK!