Skip to content

Instantly share code, notes, and snippets.

@harapeko
Last active September 29, 2019 17:42
Show Gist options
  • Save harapeko/5b476c3e2b973a93e218fb52610c5f7d to your computer and use it in GitHub Desktop.
Save harapeko/5b476c3e2b973a93e218fb52610c5f7d to your computer and use it in GitHub Desktop.
はじめてのモブプロ

はじめてのもぶぷろぐらみんぐ

モブプログラミング is …

1台のコンピューターの前に数人が集まって、
ひとつの問題を協力して解決することなんです!!

まずはモブプロしている人たちのリアル映像をみて雰囲気を掴みましょう!!

モブプロの恩恵2つをご紹介!

1. 成長しやすい文化が生まれちゃう!

成長していかなければならない…

そう…オレたちは登りはじめたんだ…

この永い永いエンジニア坂を…

スキル獲得の段階をドレフュスモデルで5段階評価した図 スキル獲得の段階をドレフュスモデルで5段階評価した図

  • 初心者:特定のスキル領域の経験がほとんど、あるいはまったくない。レシピで明確な手順を示すことが望ましい
  • 初中級者:ある程度の経験はあり、プロセスから少し外れても困らないが、全体像が見えてこない
  • 実力者:スキル領域に対してかなりの経験を積んでおり、自力で問題を解決できる
    エキスパートにアドバイスを求め、そのアドバイスを効果的に活かすようになり始める
  • 習熟者:全体像をつかみたいと思い、そのために努力する。自分が選んだ方法について深く考え、修正を加えて次はもっとよい成果を挙げられる
  • エキスパート:全体像を深く理解しており、直感で正しく行動できる

モブプログラミング ベストプラクティス P159より

プロフェッショナリズムの実践のためのステップ

P22 Professionalism 7 29-2015 #3 より

2. フロー効率を向上させよう!

フロー効率とはなんぞや!!!

言葉で説明するのが難しいので、5分程度の動画を一緒にみてくださいっ!!
The Simple Solution to Traffic

  • 知識の共有
    • 未知の未知に気がつくことができる
  • 属人性からの脱却(そもそもプロジェクトはチームみんなで保守するもの。チームみんながヨシヨシできる状態になっていたい)
  • 品質の向上
  • 早くリリースをできたりもするよね

改めてモブプロは次のように行われます!!

タイピストは常に一人で、インターバルでローテーションします
= 友達の家に集まって一つのリモコンでゲームを遊ぶような感覚です

ローテーションのタイミングは全員に周ればなんでもOKです!

  • 時間を決めて交代(10分とか)
  • キリがいいところで交代
  • 変わってほしい時に「変わって!!」でもOK

image

それぞれの役割

タイピスト

  • モブからの要請を理解すること
  • 要請の意味がはっきりしないときには、はっきりさせるための質問をすること
  • 要請をコード化すること
  • モブを信頼し、自分では通常試さないようなアプローチを躊躇せずに試すこと
  • ショートカットキーやほかの人のツールの活用方法などの新しいことを学ぶこと
  • ❌自分の考えをコードに書き込んではいけない

モブ

  • 問題解決のために力になること
  • 理解できるまで質問すること
  • モブ全体の理解水準を上げるために貢献すること
  • 目の前の問題に集中すること
  • 必要な情報を予測すること
  • システムの改善点を探すこと

うまくやるコツ

  • タイピストはやることをとにかく口に出す
  • 「分からない」を堂々と表明する。大事なチームの貢献です
  • ほかのメンバーと同じ視点をもつ(共感が大事)
  • 相手を否定、非難しない、からかわない、ふざけない
  • 傷ついた人がいれば全員でケアする

新人への配慮

  • 怖がっていることをオープンにする
  • 安心感を与えることを心がける
    • 失敗、無知を受け入れ大切にし、共に乗り越える
  • 質問は奨励されている
    • 無知がさらけ出される質問は学習を加速させる
    • ほかのメンバーの学習機会になる
    • ただし、質問の中にはすぐ答えたほうがよいもの、後から答えたほうがよいものがある。後者ならそのことを告げて安心させ、保留した質問には必ず答える
    • 新人の学習を最大限に後押しする
    • 時間的制約を明確にする

完成したらみんなで喜ぶ(親近感を育てることも目的なんです)

めっちゃうれしい

めちゃくちゃ嬉しいヤッターーーー!!!!

Wrap Upしよう!!キリッ

  • 最後にダイジェストする機会を設けましょう
  • 記録する(とりま社内共有wikiに記録します)

よくある誤解

エキスパートをタイピストにしないの図

何が問題?

🤔他の人が問題解決するところを見ているときは、深く関わっているときほどの経験が得られない

  • 試しに同じ作業をモブにさせるとすぐに息詰まる
  • 実は学習が浅いものになっている

※モブプロという定義ではそうだが、
※弊社では情報共有したり、幅広く利用していくのはありかもしれない
※なにせモブプロはそれ自体が実験的に行うもので、相談して変化していくものだから!!

適切な課題を決めよう!!

同じ立場で向き合える課題が無難!
例えば参加者みんなが関わってるプロジェクトだったり、そのフレームワークが該当します🤗

課題が思いつかなかった時のお題

その他

  • マニュアル、チュートリアルを読むときはグループではなく一人で行う時間を設けた方が効果がでやすいそうです
  • 新しい言語を学ぶような場合には向かない。一人でやったほうが効率がよいそうです
  • 疲れないためにできること
    • 定期的な休息
    • 自分の状態を知らせる(疲れたから休みたいとか言う)
    • ほかの仕事をしてもよい
    • お菓子食べててOK!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment