Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20190404_モブプログラミング.pdf
Search
Mariko
April 04, 2019
Programming
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20190404_モブプログラミング.pdf
Mariko
April 04, 2019
Other Decks in Programming
See All in Programming
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
150
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
1.9k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
680
Oxcを導入して開発体験が向上した話
yug1224
4
300
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
520
CSC307 Lecture 17
javiergs
PRO
0
320
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
Contextとはなにか
chiroruxx
0
150
A2UI という光を覗いてみる
satohjohn
1
120
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
The Curse of the Amulet
leimatthew05
1
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Why Our Code Smells
bkeepers
PRO
340
58k
Context Engineering - Making Every Token Count
addyosmani
9
950
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Odyssey Design
rkendrick25
PRO
2
690
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Transcript
モブプログラミング
モブとは
モブプログラミングとは? ﹡ モブ = 群集 ﹡ 「3人以上」の人々が1台のコンピューターの 前に座って協力しながら問題を解決してい くこと
﹡ リソース効率とフロー効率
リソース効率とフロー効率 リソース効率が良い 稼働率100%、リソースに遊びがない フロー効率が良い 機能リリースまでのリードタイムが短い 渋滞する道路のイメージ
モブプロの利点 ﹡ モブプロはフロー効率を重視 ﹡ フロー重視「機能を安く作るのではなく、早く 完成させること」を目標とする ﹡ キーパーソンへの依存度が下がる
﹡ 仕事の品質が上がる=集団の方がいい判 断を下せる
モブプロの効果を測定・・? ﹡ チームの短期的な「ベロシティ」には現れな い(むしろ短期的には下がる) ﹡ チームがチームとして固まってくるまである 程度の時間が必要 ﹡
モブプロが解決する問題は複雑 ◦ エラー率の減少 ◦ 経験の浅いメンバーの学習度上昇
成長記録の管理 モビングによって得られた成功を文書化して記 録しておく(特に導入当初は効果的) ﹡ 成功を実感した日のできごと ﹡ 知識共有の機会が生まれた時
﹡ 品質上の問題が見つかったこと 参加者全員で記録をメンテナンスすると良い
モブプログラミングのはじめ方
最初のモビング ﹡ モビングは「実験」 ◦ 導入は一時的 ◦ 形態はモビングセッション を数回行う ◦ 5回以上を目指す
﹡ オプトイン ◦ 参加を強制しない ﹡ 参加者を決める ﹡ 場所を見つける ﹡ 解きたい問題を見つける ﹡ マシンの準備 ﹡ タイマーの準備
ちょっとした秩序 効果を生むために
参加者 ﹡ 初期は 3〜4人 が良い ﹡ コードを書ける人だけ ﹡
全員にキーボードの前に座る機会を作る ﹡ 役割 ◦ タイピスト(1人) ◦ モブ
タイピスト その他のモブがしてくれと言ったことを取り入れて 実装するスマートアシスタント 1. モブがしてくれと頼んだことを「理解する」 2. 要請の意味がはっきりしないときには「質問をする」 3.
してくれと頼まれたことをコードの形に「実装する」 4. その他のモブを「信頼する」 5. 新しいことを「学ぶ」(他の人のツールの活用法など)
モブ 問題解決チームの一員になる 1. 問題解決につながる次の論理的 ステップを見つけるために力にな る 2. 理解できるまで質問をする
3. モブ全体の理解の水準を上げる ために貢献する 4. 眼の前の問題に集中する 5. ほかのメンバーの意見を聞く 6. 必要な情報を予測する 7. システムのなかの改善すべき部 分を探す
場所 ﹡ 全員が窮屈にならず、快適な場所 ﹡ 同時にコードを見れるようなところ ﹡ 必要な備品 ◦
大画面 ◦ ホワイトボード
解きたい問題を選ぶ ﹡ 納期が迫っていないもの ﹡ 全員が同じ立場で向き合える問題 ﹡ カタ(おすすめ) ◦
モブ全員が良いと思うもの ◦ 解決にセッション1つ分必要になるものが 適切
モビングセッション ﹡ 2時間程度 ﹡ 準備(30分程度) ﹡ 本体(1時間30分程度) ◦
各インターバル(10分) ﹡ しめくくり(20分程度)
準備 30分
準備0 モブプロについて説明 ﹡ 役割や心構えなど ﹡ このスライドで説明している内容
準備1 1セッションで解ける適切な問題を選ぶ
準備2 問題の概要を説明 ﹡ 取り組むためのおおよそのプランを一致させる ﹡ ホワイトボードでブレスト ﹡
15分程度で終わらせる ﹡ ホワイトボードにおおよその手順を書き出す
準備3 タイピストの順番を決める ﹡ ホワイトボードに順番を書き出す
セッション本体 1時間30分
本体 ﹡ インターバル 10分 ﹡ タイマーが切れたら ◦ 次のタイピストへ ◦
Gitにマイクロコミット(コミットメッセージを 書かないコミット) ﹡ モブの中でのその時の自分の役割を意識 ﹡ セッション冒頭でホワイトボードに書いた手 順に絶えず立ち返る
ふりかえり 20分
ふりかえり手法:シンキングハット ステップ 帽子 時間 1 仕組みと説明 ー 4分 2
事実と数字 白 2分 3 肯定的感想 黄色 3分 4 批判的感想 黒 3分 5 建設的な問題解決法 緑 5分 6 軌道修正すべきことの決定、合意形成 ー 5分
黄色 肯定的感想 - 一番うまくいった ことは何か? - 予想外に簡単 だったのは何 か?
- セッションでいい と思ったことは何 か? 黒 批判的感想 - うまくいかなかっ たのは何か - どこに不満を感じ たか 正当な感想かどうかに ついて意見の一致は不 要 緑 建設的な問題解 決法 この段階では、アイデ アを提案するだけであ り、どんな提案も却下 されない 白 事実と数字 例 : - タイピストを10分 ごとに交代させた - エディタのフォント サイズは16ptだっ た 評価になっていないか 注意 全員が同時に同じ帽子をかぶる
軌道修正すべきこと・合意形成 ﹡ 3分のタイマーをかける ﹡ 次のセッションで変えることを「ひとつ」決める ﹡ 全員の賛同を得る
﹡ Try ﹡ 全員の賛同を得られない場合何も変えない
初めてのモブプロはこんな感じ
2019/2/23 発売 おすすめ!
Shall we?