KEMBAR78
Mob programming - Without the Torches and Pitchforks | PPTX
Mob Programming
Without Torches and Pitchforks
By: Jeremy Wood
1
WHOISTHISGUY?
2
Jeremy Wood
Sr. Agile Coach
Agile Leader with experience across industries including manufacturing,
retail, K-12 education, higher education, and airline
Active Agile Practitioner using Scrum, Kanban, XP & SAFe
 Agile Transformation Consultant
 Agile Team Coach & Enterprise Agile Coach
 Consultant & Trainer across various Agile Methodologies
 Teach Agile and Traditional Project Management at 3 Universities
 University of Phoenix
 Grand Canyon University
 Bellevue University
Certifications
PMP
CSM
CSP
SPC4
SA
LSSBB
Education
MBA
Agenda
 What is Mob Programming?
 Productivity Destroyers
 How can 5+ people be effective working on one thing?
 Guidelines for setup
 Benefits
 How to become the ideal team player
 Creating a continuous learning environment
 Queue time
3
WhoHasTried
Mob
Programming
Before?
4
WhatisMob
Programming?
All the brilliant minds working on
The same thing…
At the same time…
In the same space…
On the same computer…
-Woody Zuill
5
HowWasMob
Programming
Discovered?
 Hunter Industries – 2011 (Woody Zuill)
 Big problems existed (high priority items, quality, etc,)
 Code review seemed to make enemies
 Enabled the team to work on skills
 They were hiring brilliant people with great skills then
telling them how to work
 Let them solve problems!
 They were able to study together
 Weekly practice session on Friday’s - 3 hours (voluntary)
 Rotate every 2-20 minutes driver/navigator
 Focus on getting results from retrospectives
 Not discussing the same problems over and over
 They SOLVED their problems! (daily – 10 minutes)
 Turn up the good
6
What arethe
things that
destroy
productivity?
Communication Problems
Decision Making Problems
Technical Debt
Office Politics
Meetings
Context Switching
7
Imaginethefirst
timesomeone
proposed…
PAIR PROGRAMMING
 “I want to take 6 developers working on 6 things
and have those 6 people work on 3 things”
8
Now,imaginethe
firsttime
someone
proposed…
MOB PROGRAMMING
 I want to take 6 developers working on 6 things
and have those 6 people work on 1 thing
9
HowCan5+
People Be
EffectiveWorking
on1Thing?
Maximum efficiency is obtained by keeping
everyone busy and working on as many
priority items as possible, right?
The bottleneck in software development is
not how fast you can type, but how fast
you can solve problems
10
Guidelinesfor
SetUp
 Create a Mobbing Working Agreement
 Gather in a dedicated co-located space
 Limit your work in progress to one item
 Commit to creating a safe environment
 Amplify the good
 Start each day with skills learning – 1 hour
 Ideally, 2-3 large monitors/TVs, 1 computer, 1 keyboard
 No standup
 Driver (change every 2-10 minutes)
 All others are navigators
 Product Owner should sit and spend time/often the whole day with the
team
 Deliver to prod. daily or multiple times a day – CI/CD
 Take lunch together as a team, maximize collaboration
 Team functioning as a team
 Other computers might be doing research, but only 1 to code base
(main pc)
11
SoWhat Does
Mob
Programming
LookLike?
3 typos...
4 typos...
They
haven’t
used a
shortcut in
15 minutes!
12
13
14
Driver/Navigator
Model
DRIVER
 Normally would be focused on the granular level of detail
 Just typing what is being discussed
 If someone is reluctant, they don’t have to, it’s voluntary
 Rotate every 2 to 20 minutes
NAVIGATOR
 Can keep focused on the problem being solved, the big
picture, architecture, refactoring, etc.
15
WhenMight
YouUseMob
Programming?
 When it makes sense to the team
 Possibly on more complicated problems
 When knowledge sharing is needed
 Don’t get held captive by ‘experts’
 If quality is suffering
 When interpersonal issues need solved
 A true team requires collaboration
16
How toHandle
Competing
Solutionsand
Ideasto Problem
EXPERIENCED DEVELOPER
 Knowledge of proven solutions to prior problems
 Quick to identify potential solutions
 May not think ‘outside the box’ with fresh perspective,
but leverage known solutions
INEXPERIENCED DEVELOPER
 May be reluctant to share their ideas/solutions for fear
of inadequacy
 Will typically think ‘outside the box’ due to lack of
experience using proven methods
17
Benefitsto Mob
Programming
Higher Quality
Code
Mentoring on
Steroids
Team Building
Remove the
HIPPO
Increased team
communication
18
Joy,Inc.
 They’re using pair programming
 Joy built from
 Trust
 Communication
 Collaboration
 Shared ownership
 Do you see commonalities with Mob Programming?
19
Qualitiesof The
IdealTeam
Player
- Patrick Lencioni
20
Createa
Continuous
Learning
Environment
Skills learning
sessions
1 hr/day
Encourage
questions
Try the ideas of
less experienced
team members
Rotate
Driver/Navigators
Use volunteers,
not force
21
HurryUpandWait
QueueTime
 Zero Queue Time
 0 x 8 = 0 Minutes of Waste (0 hours) = 8 Questions
 5 Minute Queue Time
 5 x 8 = 40 Minutes of Waste (.67 hours) = 7 Questions
 15 Minute Queue Time
 15 x 8 = 120 Minutes of Waste (2 hours) = 6 Questions
 30 Minute Queue Time
 30 x 8 = 240 Minutes of Waste (4 hours) = 4 Questions
 1 Day Queue Time
 Whole day wasted! = 0 Questions
Example Productivity:
1 Question = 1 Hour
8 per day max
22
How DoWe
TypicallySolve
This?
SYMPTOM
 We’re Not Busy Enough
 We add inventory (work in progress that is not yet
delivering value)
PROBLEM
 We’re Not Getting Answers to Our Questions
 We stay busy, but are not delivering value quickly
We Switch to Something Else
-MULTITASK-
“Don’t solve a queueing problem by
introducing an inventory problem”
- Woody Zuill -
23
With Mob
Programming,
Mostofthe
Problems Fade
Away
Communication Problems
Decision Making Problems
Technical Debt
Office Politics
Meetings
Context Switching
24
Mob
Programming
Will…
Solve all of your problems, right!?
Absolutely NOT!
It’s another tool to leverage
If anything was perfect, it would
just be called “the way”
25
Text
CERTIFICATION
to
50500
26

Mob programming - Without the Torches and Pitchforks

  • 1.
    Mob Programming Without Torchesand Pitchforks By: Jeremy Wood 1
  • 2.
    WHOISTHISGUY? 2 Jeremy Wood Sr. AgileCoach Agile Leader with experience across industries including manufacturing, retail, K-12 education, higher education, and airline Active Agile Practitioner using Scrum, Kanban, XP & SAFe  Agile Transformation Consultant  Agile Team Coach & Enterprise Agile Coach  Consultant & Trainer across various Agile Methodologies  Teach Agile and Traditional Project Management at 3 Universities  University of Phoenix  Grand Canyon University  Bellevue University Certifications PMP CSM CSP SPC4 SA LSSBB Education MBA
  • 3.
    Agenda  What isMob Programming?  Productivity Destroyers  How can 5+ people be effective working on one thing?  Guidelines for setup  Benefits  How to become the ideal team player  Creating a continuous learning environment  Queue time 3
  • 4.
  • 5.
    WhatisMob Programming? All the brilliantminds working on The same thing… At the same time… In the same space… On the same computer… -Woody Zuill 5
  • 6.
    HowWasMob Programming Discovered?  Hunter Industries– 2011 (Woody Zuill)  Big problems existed (high priority items, quality, etc,)  Code review seemed to make enemies  Enabled the team to work on skills  They were hiring brilliant people with great skills then telling them how to work  Let them solve problems!  They were able to study together  Weekly practice session on Friday’s - 3 hours (voluntary)  Rotate every 2-20 minutes driver/navigator  Focus on getting results from retrospectives  Not discussing the same problems over and over  They SOLVED their problems! (daily – 10 minutes)  Turn up the good 6
  • 7.
    What arethe things that destroy productivity? CommunicationProblems Decision Making Problems Technical Debt Office Politics Meetings Context Switching 7
  • 8.
    Imaginethefirst timesomeone proposed… PAIR PROGRAMMING  “Iwant to take 6 developers working on 6 things and have those 6 people work on 3 things” 8
  • 9.
    Now,imaginethe firsttime someone proposed… MOB PROGRAMMING  Iwant to take 6 developers working on 6 things and have those 6 people work on 1 thing 9
  • 10.
    HowCan5+ People Be EffectiveWorking on1Thing? Maximum efficiencyis obtained by keeping everyone busy and working on as many priority items as possible, right? The bottleneck in software development is not how fast you can type, but how fast you can solve problems 10
  • 11.
    Guidelinesfor SetUp  Create aMobbing Working Agreement  Gather in a dedicated co-located space  Limit your work in progress to one item  Commit to creating a safe environment  Amplify the good  Start each day with skills learning – 1 hour  Ideally, 2-3 large monitors/TVs, 1 computer, 1 keyboard  No standup  Driver (change every 2-10 minutes)  All others are navigators  Product Owner should sit and spend time/often the whole day with the team  Deliver to prod. daily or multiple times a day – CI/CD  Take lunch together as a team, maximize collaboration  Team functioning as a team  Other computers might be doing research, but only 1 to code base (main pc) 11
  • 12.
    SoWhat Does Mob Programming LookLike? 3 typos... 4typos... They haven’t used a shortcut in 15 minutes! 12
  • 13.
  • 14.
  • 15.
    Driver/Navigator Model DRIVER  Normally wouldbe focused on the granular level of detail  Just typing what is being discussed  If someone is reluctant, they don’t have to, it’s voluntary  Rotate every 2 to 20 minutes NAVIGATOR  Can keep focused on the problem being solved, the big picture, architecture, refactoring, etc. 15
  • 16.
    WhenMight YouUseMob Programming?  When itmakes sense to the team  Possibly on more complicated problems  When knowledge sharing is needed  Don’t get held captive by ‘experts’  If quality is suffering  When interpersonal issues need solved  A true team requires collaboration 16
  • 17.
    How toHandle Competing Solutionsand Ideasto Problem EXPERIENCEDDEVELOPER  Knowledge of proven solutions to prior problems  Quick to identify potential solutions  May not think ‘outside the box’ with fresh perspective, but leverage known solutions INEXPERIENCED DEVELOPER  May be reluctant to share their ideas/solutions for fear of inadequacy  Will typically think ‘outside the box’ due to lack of experience using proven methods 17
  • 18.
    Benefitsto Mob Programming Higher Quality Code Mentoringon Steroids Team Building Remove the HIPPO Increased team communication 18
  • 19.
    Joy,Inc.  They’re usingpair programming  Joy built from  Trust  Communication  Collaboration  Shared ownership  Do you see commonalities with Mob Programming? 19
  • 20.
  • 21.
    Createa Continuous Learning Environment Skills learning sessions 1 hr/day Encourage questions Trythe ideas of less experienced team members Rotate Driver/Navigators Use volunteers, not force 21
  • 22.
    HurryUpandWait QueueTime  Zero QueueTime  0 x 8 = 0 Minutes of Waste (0 hours) = 8 Questions  5 Minute Queue Time  5 x 8 = 40 Minutes of Waste (.67 hours) = 7 Questions  15 Minute Queue Time  15 x 8 = 120 Minutes of Waste (2 hours) = 6 Questions  30 Minute Queue Time  30 x 8 = 240 Minutes of Waste (4 hours) = 4 Questions  1 Day Queue Time  Whole day wasted! = 0 Questions Example Productivity: 1 Question = 1 Hour 8 per day max 22
  • 23.
    How DoWe TypicallySolve This? SYMPTOM  We’reNot Busy Enough  We add inventory (work in progress that is not yet delivering value) PROBLEM  We’re Not Getting Answers to Our Questions  We stay busy, but are not delivering value quickly We Switch to Something Else -MULTITASK- “Don’t solve a queueing problem by introducing an inventory problem” - Woody Zuill - 23
  • 24.
    With Mob Programming, Mostofthe Problems Fade Away CommunicationProblems Decision Making Problems Technical Debt Office Politics Meetings Context Switching 24
  • 25.
    Mob Programming Will… Solve all ofyour problems, right!? Absolutely NOT! It’s another tool to leverage If anything was perfect, it would just be called “the way” 25
  • 26.

Editor's Notes

  • #3 A little about me – Two advantages: engineering bg & consulting bg focus on Engineering - that transition from Engineering to SW Dev that really started my Agile journey. Physical world – lots of constraints, SW Dev world – fewer. management and leadership approach - consistent with your constraints. Consulting – agile is not a SW dev thing that everyone should take notice of. Peter drucker, jack welch, day job : actively coach teams, transform organizations