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
100
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
22
Developing Developers
vanzaj
0
18
Professional Software Development. Can it be taught?
vanzaj
0
62
Brain, memory and effective study
vanzaj
0
56
Cluster failure (fMRI data analysis) paper
vanzaj
2
110
Organizations v5.0
vanzaj
1
57
Software Carpentry training model
vanzaj
1
62
presentation 101
vanzaj
1
92
DACETS: research data management for individual scientists
vanzaj
0
180
Other Decks in Programming
See All in Programming
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
103 Early Hints
sugi_0000
1
230
Refactor your code - refactor yourself
xosofox
1
260
testcontainers のススメ
sgash708
1
120
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
Recoilを剥がしている話
kirik
5
6.6k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
460
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
130
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
120
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
330
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
Rails Girls Zürich Keynote
gr2m
94
13k
Building Applications with DynamoDB
mza
91
6.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
How STYLIGHT went responsive
nonsquared
95
5.2k
Facilitating Awesome Meetings
lara
50
6.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
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