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
29
Developing Developers
vanzaj
0
26
Professional Software Development. Can it be taught?
vanzaj
0
67
Brain, memory and effective study
vanzaj
0
71
Cluster failure (fMRI data analysis) paper
vanzaj
2
120
Organizations v5.0
vanzaj
1
65
Software Carpentry training model
vanzaj
1
69
presentation 101
vanzaj
1
100
DACETS: research data management for individual scientists
vanzaj
0
200
Other Decks in Programming
See All in Programming
Benchmark
sysong
0
230
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
0
140
複数アプリケーションを育てていくための共通化戦略
irof
10
4k
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
560
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
0
180
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
360
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
820
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
130
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
250
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
1
310
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
337
57k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Six Lessons from altMBA
skipperchong
28
3.8k
How to Ace a Technical Interview
jacobian
277
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Thoughts on Productivity
jonyablonski
69
4.7k
The World Runs on Bad Software
bkeepers
PRO
69
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Optimising Largest Contentful Paint
csswizardry
37
3.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