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
Mob programming
Search
Ivan
March 22, 2018
Programming
0
110
Mob programming
Presentation at agiledays.ru 2018 (russian version:
https://www.youtube.com/watch?v=s4jsOiWXil0
)
Ivan
March 22, 2018
Tweet
Share
More Decks by Ivan
See All by Ivan
Moving to Larger Implementation of Agile
vanzaj
0
24
Developing Developers
vanzaj
0
21
Professional Software Development. Can it be taught?
vanzaj
0
63
Brain, memory and effective study
vanzaj
0
57
Cluster failure (fMRI data analysis) paper
vanzaj
2
110
Organizations v5.0
vanzaj
1
57
Software Carpentry training model
vanzaj
1
64
presentation 101
vanzaj
1
92
DACETS: research data management for individual scientists
vanzaj
0
190
Other Decks in Programming
See All in Programming
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
880
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
910
GoとPHPのインターフェイスの違い
shimabox
2
210
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.4k
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
ML.NETで始める機械学習
ymd65536
0
230
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
110
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
950
自力でTTSモデルを作った話
zgock999
0
100
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
920
技術を改善し続ける
gumioji
0
120
Better Code Design in PHP
afilina
0
160
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
The Invisible Side of Design
smashingmag
299
50k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Fireside Chat
paigeccino
34
3.2k
Building an army of robots
kneath
303
45k
How to Ace a Technical Interview
jacobian
276
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Scaling GitHub
holman
459
140k
Typedesign – Prime Four
hannesfritz
40
2.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Transcript
Mob programming Ivan Zimine 22 March, 2018
None
None
Mob programming workshop, Singapore, Nov 2017
— Woody All the brilliant minds working on the same
thing… at the same time… in the same space… on the same computer… What is Mob programming? Woody Zuill
How does it look in practice?
https://www.youtube.com/watch?v=p_pvslS4gEI
https://devblog.xero.com/mobprogramming-xp-34d1a8c99a9d Big table Big screen One keyboard
http://benjiweber.co.uk/blog/2014/11/30/the-unruly-mob/ Two screens One keyboard
driver big screen navigator/ observers flip chart Typical setup
BIG screens http://www.chrislucian.com/2016/05/mob-programming-q.html
Anti-pattern http://www.full-stackagile.com/2016/07/28/mob-programming-what-is-it/
Alternative setup
mirrored screens Alternative setup flip chart
It’s not about the keyboard
Summary of how whole team works in the same physical
space the space is comfortable and ergonomic team decides how to setup their space
Driver Navigator Observer
For an idea to go from someone’s head into the
computer it must go through someone else’s hands — Llewellyn Falco
Driver: follows instructions from navigator (smart input device) Navigator: Solves
current problem Observer: Thinks about what to do next driver navigator observer
Rotation: - time-box - task driver navigator observer
Summary of Driver/Navigator/Observer Driver == “smart input device” Navigator and
observer: solve the problem Separation of cognitive load Discipline and respect for all ideas
Why would anybody want to work this way?
How can 5 people be productive working on the same
computer?
How about asking another question…
(slides from Woody’s workshop) Most of those disappear when the
team works together most of the time.
Key benefits Team jelling Focus & flow Code and product
quality Continuous learning
How to get started? Must be voluntary Team’s decision to
experiment Learn to work well together There is no “one right way” Frequent retrospectives
— Woody The people doing the work can best determine
how to do that work Summary of why