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
0
290
20190404_モブプログラミング.pdf
Mariko
April 04, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Create a website using Spatial Web
akkeylab
0
300
ニーリーにおけるプロダクトエンジニア
nealle
0
490
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
330
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
400
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.9k
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
190
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
480
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
250
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
46
31k
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
310
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
860
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Building Adaptive Systems
keathley
43
2.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building an army of robots
kneath
306
45k
Unsuck your backbone
ammeep
671
58k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Code Reviewing Like a Champion
maltzj
524
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Designing for humans not robots
tammielis
253
25k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
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?