Mob Programming Without Torches and Pitchforks By: Jeremy Wood 2 - - PowerPoint PPT Presentation

mob programming
SMART_READER_LITE
LIVE PREVIEW

Mob Programming Without Torches and Pitchforks By: Jeremy Wood 2 - - PowerPoint PPT Presentation

1 Mob Programming Without Torches and Pitchforks By: Jeremy Wood 2 WHO IS THIS GUY? Agile Leader with experience across industries including manufacturing, Jere remy my Wood Sr. Agile e Coac ach retail, K-12 education, higher education,


slide-1
SLIDE 1

Mob Programming

Without Torches and Pitchforks By: Jeremy Wood

1

slide-2
SLIDE 2

WHO IS THIS GUY?

2

Jere remy my Wood

  • Sr. Agile

e Coac ach

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

Certifi ficati cations PMP CSM CSP SPC4 SA LSSBB Educat catio ion MBA

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Who Has Tried Mob Programming Before?

4

slide-5
SLIDE 5

What is Mob Programming?

All ll the he bri rill llia iant nt min inds work rkin ing on

  • The same thing…
  • At the same time…
  • In the same space…
  • On the same computer…
  • Woody Zuill

5

slide-6
SLIDE 6

How Was Mob 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

slide-7
SLIDE 7

What are the things that destroy productivity?

Communication Problems Decision Making Problems Technical Debt Office Politics Meetings Context Switching

7

slide-8
SLIDE 8

Imagine the first time someone proposed…

PAIR PROGRAMMING

  • “I want to take 6 developers working on 6 things

and have those 6 people work on 3 things”

8

slide-9
SLIDE 9

Now, imagine the first time someone proposed…

MOB PROGRAMMING

  • I want to take 6 developers working on 6 things

and have those 6 people work on 1 thing

9

slide-10
SLIDE 10

How Can 5+ People Be Effective Working

  • n 1 Thing?

Maximum efficiency is obtained by keeping everyone busy and working on as many priority items as possible, right?

The he bot

  • ttl

tleneck in in so soft ftware re deve velo lopment is is not

  • t ho

how fas fast t yo you ca can typ type, , but ut ho how fas fast t yo you ca can so solv lve prob roble lems

10

slide-11
SLIDE 11

Guidelines for Set Up

  • 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

slide-12
SLIDE 12

So What Does Mob Programming Look Like?

3 typos... 4 typos... They haven’t used a shortcut in 15 minutes!

12

slide-13
SLIDE 13

13

slide-14
SLIDE 14

14

slide-15
SLIDE 15

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

slide-16
SLIDE 16

When Might You Use Mob 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

slide-17
SLIDE 17

How to Handle Competing Solutions and Ideas to 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
  • f inadequacy
  • Will typically think ‘outside the box’ due to lack of

experience using proven methods

17

slide-18
SLIDE 18

Benefits to Mob Programming

Higher Quality Code Mentoring on Steroids Team Building Remove the HIPPO Increased team communication

18

slide-19
SLIDE 19

Joy, Inc.

  • They’re using pair programming
  • Joy built from
  • Trust
  • Communication
  • Collaboration
  • Shared ownership
  • Do you see commonalities with Mob Programming?

19

slide-20
SLIDE 20

Qualities of The Ideal Team Player

  • Patrick Lencioni

20

slide-21
SLIDE 21

Create a 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

slide-22
SLIDE 22

Hurry Up and Wait

Queue Time

  • 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

slide-23
SLIDE 23

How Do We Typically Solve 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

slide-24
SLIDE 24

With Mob Programming, Most of the Problems Fade Away

Communication Problems Decision Making Problems Technical Debt Office Politics Meetings Context Switching

24

slide-25
SLIDE 25

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

slide-26
SLIDE 26

Text CERTIFICATION to 50500

26