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
26
Developing Developers
vanzaj
0
23
Professional Software Development. Can it be taught?
vanzaj
0
66
Brain, memory and effective study
vanzaj
0
64
Cluster failure (fMRI data analysis) paper
vanzaj
2
120
Organizations v5.0
vanzaj
1
64
Software Carpentry training model
vanzaj
1
68
presentation 101
vanzaj
1
98
DACETS: research data management for individual scientists
vanzaj
0
200
Other Decks in Programming
See All in Programming
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
110
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
270
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
180
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
780
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
170
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
380
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6k
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
420
漸進。
ssssota
0
1.1k
SpringBootにおけるオブザーバビリティのなにか
irof
1
890
ワンバイナリWebサービスのススメ
mackee
10
7.5k
Interface vs Types ~型推論が過多推論~
hirokiomote
1
230
Featured
See All Featured
Optimizing for Happiness
mojombo
378
70k
The Language of Interfaces
destraynor
158
25k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
RailsConf 2023
tenderlove
30
1.1k
Docker and Python
trallard
44
3.4k
Statistics for Hackers
jakevdp
799
220k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
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