Running
Mob Programming
How we made our team x 4 faster
Slide 2
Slide 2 text
Ikuo Suyama
@martin_lover_se
➔ From Tokyo, Japan
➔ ’LODEO’, CyberAgent
➔ Backend Engineer
➔ Apprentice Agile Coach
Slide 3
Slide 3 text
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...
Slide 4
Slide 4 text
Our Mobbing Style
Slide 5
Slide 5 text
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
Slide 6
Slide 6 text
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
Slide 7
Slide 7 text
Just following these rules,
Our results x 2 faster than ever!
Slide 8
Slide 8 text
X 2…?
Slide 9
Slide 9 text
X 4,
wasn’t it…?
Slide 10
Slide 10 text
Yes,
We SCALE our Mob.
Slide 11
Slide 11 text
Initial Approach: Scale-UP
➔ start from 3 people
➔ Increment to 6 people...
Slide 12
Slide 12 text
Scale-UP: Problem
Efficiency
(1 / leadtime)
Number of
people
Note: This data is NOT accurate
Slide 13
Slide 13 text
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
Slide 14
Slide 14 text
The
Solution:
Scale-OUT
Slide 15
Slide 15 text
Scale-OUT: Synced-Mob
Slide 16
Slide 16 text
Scale-OUT: Synced-Mob
Keep the lines of communication open
Slide 17
Slide 17 text
2 mobs work together!
Scale-OUT: Synced-Mob
On the same thing...
At the same time...
In the same place...
But different tasks
Slide 18
Slide 18 text
Scale-OUT: Synced-Mob
Reducing Sync point
➔ Mob Feature planning
◆ Independently Task Slicing
➔ Mob interface design & implementation
◆ Starting define interface with all
Slide 19
Slide 19 text
Scale-OUT: Synced-Mob
X2 FASTER!! X2 FASTER!!
Quite simple, but it works well!!
Slide 20
Slide 20 text
If we got only 5 people…?
Slide 21
Slide 21 text
Like This…?
Slide 22
Slide 22 text
Oops!
JOYFUL! EXHAUSTED…
Slide 23
Slide 23 text
Oops!
JOYFUL! EXHAUSTED…
Tend to Avoid…
Slide 24
Slide 24 text
Solution: Double-Linked Mob
Slide 25
Slide 25 text
Double-Linked Mob
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
Slide 26
Slide 26 text
1/2 lead-time mob,
X 2 parallel
we got x 4 faster!
Slide 27
Slide 27 text
➔ 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
Conclusion
Slide 28
Slide 28 text
Twitter:
@martin_lover_se
Thank you for your kind
attention!