Security Nextcamp remote mob programming

>100 Views

October 25, 20

スライド概要

How to mob-program remotely

profile-image

サイボウズ・ラボ株式会社で教育向けのOSやCPU、コンパイラなどの研究開発をしています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

自作Cコンパイラはモブプロで最適化の夢を見るか? モブプログラミング セキュリティ・ネクストキャンプ2020 2020年10月24日 uchan

3.

モブプログラミングとは • 略してモブプロ • 3人以上が集まって • 同じ時間に • 同じ画面を見て • 同じ課題に一緒に取り組む • Hunter Industryでのモブプロの様子 • https://www.youtube.com/watch?v=dVqUcNKVbYg • Hunter Industryはモブプロの聖地

4.

色々なモブプロ • メンバーのレベルがある程度そろっているモブプロ • がんがん実装を進めていく • 互いに学びもある • このスライドの想定はこれ • ベテランと新人のモブプロ • ベテランが新人に教えつつ開発を進める • ベテランは教え方が上手くなり,新人は大量に知識を吸収

5.

ドライバーとナビゲーター • ドライバー • ナビゲーターの議論の結果をコードで表現する • 自分の考えだけでコーディングを進めない ドライバー • ナビゲーター https://gds.blog.gov.uk/2016/09/01/using -mob-programming-to-solve-a-problem/ • 何を実装するかを議論する • ドライバーが理解できる最も高い抽象度の表現で伝える • チームの文化によって役割の差はある

6.

モブプロの良さ • 互いに分からないことを補完しあえる • 調べる時間が短縮される • 不正確な知識を得てしまう可能性が下がる • チームメンバー皆が内部構造等に詳しくなる • ドキュメント量を削減できる • チームメンバーの知識レベルを揃えられる • 属人性をある程度防げる • チームでわいわい楽しい!

7.

リモート・モブプログラミング サイボウズ株式会社の事例 様々な場所からリモートで モブプロを行っている https://blog.cybozu.io/entry/2020/02/28/080000

8.

リモート・モブプロのやり方 • ドライバーの順序を決める • ドライバーの交代方法を決める • 時間で区切る?機能単位?他の何か? • リモートチーム用タイマー https://cuckoo.team/next-ccmob • ナビゲーターが議論し,ドライバーがコードを書く • ドライバーの交代時間になったらコードをcommit & push • 適度に休憩時間を設ける

9.

ドライバーの技術 • 自分の考えだけでコーディングを進めない • ナビゲーターが静かに見守るだけ,になりがち • ナビゲーターからの案を素直に実装するのが基本 • もちろん,よりよいアイデアがあれば議論に参加しよう • 自分の思考を垂れ流す(しゃべる) • どんなコードを書こうと思っているかを垂れ流す • 分からないことがあれば,分からないことを伝える • 難易度が高い技術なので練習しよう

10.

モブプロQ&A • 個々人で分散開発した方が効率良いのでは? • 時と場合に依るとは思います • 複雑な作業はモブプロが適すると感じます • 皆の英知を集めて作業できること,皆が知識を得られることが大きい • 事実,サイボウズの開発は大部分がモブプロになりました • その他質問ありますか