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
Running Mob Programming - How we made our team ...
Search
Ikuo Suyama
August 07, 2019
Programming
0
2.3k
Running Mob Programming - How we made our team x 4 faster!
Agile2019 at D.C. Lightning Talk
Running Mob Programming, How we made our team x 4 faster!
Ikuo Suyama
August 07, 2019
Tweet
Share
More Decks by Ikuo Suyama
See All by Ikuo Suyama
Dive into JVM JIT Compiler
martin_lover
2
210
InvokeDynamic完全に理解した / Completely Understand InvokeDynamic
martin_lover
0
890
10分で完全に理解するInvokeDynamic / 10min To Understand InvokeDynamic
martin_lover
0
810
High Performance FastAPI EN
martin_lover
0
1.1k
High Performance FastAPI
martin_lover
17
8.6k
エッセンシャル モブプログラミング 〜実践者が考えるモブの価値,原則,プラクティス〜 / Essential Mob Programming
martin_lover
15
7.6k
NoEstimates Scrum En
martin_lover
0
1.2k
見積りしないスクラム/No Estimates Scrum JP
martin_lover
23
32k
正しくつくる、みんなでつくる。/Do things right with team
martin_lover
1
2.5k
Other Decks in Programming
See All in Programming
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
210
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
700
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
120
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
14 Years of iOS: Lessons and Key Points
seyfoyun
1
770
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
良いユニットテストを書こう
mototakatsu
5
2k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Code Review Best Practice
trishagee
65
17k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Fireside Chat
paigeccino
34
3.1k
Designing Experiences People Love
moore
138
23k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Transcript
Running Mob Programming How we made our team x 4
faster
Ikuo Suyama @martin_lover_se ➔ From Tokyo, Japan ➔ ’LODEO’, CyberAgent
➔ Backend Engineer ➔ Apprentice Agile Coach
Mob Programming "Mob Programming A Whole Team Approach" Agile 2014,
Woody Zuill “On the same thing... At the same time... In the same place... On the same computer...
Our Mobbing Style
Our Mobbing Style ➔ Session ◆ 1 Session is 45
min ◆ Taking 5 - 10 min rest at each session ➔ Changing Driver frequently by timer ◆ Changing driver at 5 - 15 min ◆ All participants can be a driver at each session For keeping Concentration
Our Mobbing Style “for an idea to go from your
head into the computer, it MUST go through other's agreement. The driver can also join the discussion
Just following these rules, Our results x 2 faster than
ever!
X 2…?
X 4, wasn’t it…?
Yes, We SCALE our Mob.
Initial Approach: Scale-UP ➔ start from 3 people ➔ Increment
to 6 people...
Scale-UP: Problem Efficiency (1 / leadtime) Number of people Note:
This data is NOT accurate
Note: This data is NOT accurate ➔ It doesn’t scale
linearly ➔ Sweet spots is 3 - 4 people Scale-UP: Problem Low Resource Efficiency Resource Efficiency is getting worse
The Solution: Scale-OUT
Scale-OUT: Synced-Mob
Scale-OUT: Synced-Mob Keep the lines of communication open
2 mobs work together! Scale-OUT: Synced-Mob On the same thing...
At the same time... In the same place... But different tasks
Scale-OUT: Synced-Mob Reducing Sync point ➔ Mob Feature planning ◆
Independently Task Slicing ➔ Mob interface design & implementation ◆ Starting define interface with all
Scale-OUT: Synced-Mob X2 FASTER!! X2 FASTER!! Quite simple, but it
works well!!
If we got only 5 people…?
Like This…?
Oops! JOYFUL! EXHAUSTED…
Oops! JOYFUL! EXHAUSTED… Tend to Avoid…
Solution: Double-Linked Mob
Double-Linked Mob <This is HIGHLY EXPERIMENTAL!> Same effectivity as 3-3
synced mobs! ➔ Linking-Navigator ◆ 2 Mobs connect with navigator ◆ Rotate linking-navigator at each session ◆ Easy to found problems between each mobs
1/2 lead-time mob, X 2 parallel we got x 4
faster!
➔ Using Mob, we got x 2 faster ➔ To
achieve x 4 faster ◆ Scale-UP • Cause low-resource efficiency ◆ Scale-OUT • Synced-Mob • Double-Linked Mob <Experimental!> Conclusion
Twitter: @martin_lover_se Thank you for your kind attention!