Mob Programming delivers the very best from your entire team, technical and business alike. Learn about mob programming and how to bring mob programming to remote teams.
2. About Me
• Agile Technical & Process Coach, Trainer,
Course Designer and Developer
• Email: cbell@CamilleBellConsulting.com
(best way to contact me)
• Twitter: @agilecamille
• Slideshare: camille_bell
• LinkedIn: https://www.linkedin.com/in/camillebell/ 2
3. Session Format
• Short Intro to Mob Programming
• Live remote mobbing
• A little more intro and some questions
• More live mobbing
• Some references and more questions
• Wrap up
3
4. Why Mob Programming? Business
• Single Piece Flow
– features faster to market
• Features Faster to Market
– faster feedback from customers
• Faster Feedback from
Customers
– faster customer satisfaction
• Faster Customer Satisfaction
– happier customers
– market dominance
4
5. Why Mob Programming? Code
• Better quality code
– fewer bugs
– easier maintenance
– faster enhancement
• Why better quality?
– people have ups and downs
– pairing improves the ups and
lowers downs
– mobbing skyrockets the ups,
practically eliminates downs
5
Working Alone
From Mob Programming Guidebook
by Maarte Pyhajarvi
Mobbing
6. Why Mob Programming? People
• Ability to break through large tasks easily
• Team bonding through working together
• Team members greatly improve skills
• Shared ownership over decisions
• Lowers risk of staff turnover
• And more
6
Image from Mob Programming
and Personal Satisfaction
by Chris Lucian
https://www.ChrisLucian.com/
7. Mob Programming
“All the brilliant people
working on the same
thing, at the same
time, in the same
space, on the same
computer.”
– Woody Zuill
(the discoverer of Mob
Programming)
1
7Image from MobProgramming.org
8. Global Mob Programming
Sunday’s Mob participants:
8
• Africa
– Kenya
• Europe
– Denmark
– Germany
– Spain
• USA
– DC area
– Michigan
– Missouri
– Utah
– Washington State
9. “For an idea to
get into the code,
it has to go
through some
else’s hands.”
– Llewellyn Falco
Mobbing Roles
9
Hands
Ideas
Ideas
Ideas
Ideas
Image from Mob Programming Guidebook
by Maarte Pyhajarvi
10. Driver / Navigator Roles
• Driver
– Has hands on the keyboard and types
– Does nothing without direction from Navigator
• Navigator
– Explains idea to be translated into code
– Ideas flow from Navigator to Driver
Level of explanation depends
– Conceptual, if the Driver is more experienced
– More detailed, if the Driver is less experienced
10
11. Other Mob Programming Roles
• Other Mobbers
– Those who are not the current Driver or Navigator
– Ask clarifying questions
– Share areas of expertise
– Make suggestions, only if asked by the current
Navigator in an Navigator Leads Strongly style mob
– Make suggestions more freely in other style mobs
– Prime Navigator always decides
• Facilitator
– Guides mobbing practices
– Similar role to XP or Agile Coach
– Doesn’t rotate with the mob 11
12. Mob Team Members
• With Team Every Day, All Day
– Always rotate between Driver and Navigator
– Join as Other Mobbers when not Navigating or Driving
• Occasional Mob Members
– Product Owners, Business Analysts, Security, DBA,
and other specialists, Managers
– May be present only part of the day or rotate in and out
of team
12
13. Remote Mobbing Rotation with Timer
For Each Driver /
Navigator
• Practice TDD
• Check in code
whenever tests pass
• Refactor as needed
Switch on timer
After Each Round
• Micro Retrospective
Mary
Raj
Tom
Carlos
Eva
Selena
(Driver) hands
on keyboard
13
(Navigator)
directs Driver
Raj will be next
Driver , Selena
will be next
Navigator
Shared
Repository
14. Micro Retrospective Questions
• How did that feel?
• What was the best thing that happened
that round?
– e.g. something that we want to do more of
14
“Turn Up the Good” - Woody Zuill
16. Test Driven Development Feedback Loop
Write a test for
new low level
functionality
Run the test and
watch it fail
(no code = test fails)
Write just enough
code to make the
test pass
Run the test and
watch it pass
Clean up
complex or
messy code
Run test again
to make sure it
still passes
Check in
Code &
Tests
Check in
Code &
Tests
16
Red
Green
Refactor
17. Mobbing Beyond Coding
• Story Mapping
• Impact & Empathy Mapping
• UI Design
• Application Design
• Database Design
• Architecture
• Dev Ops Pipeline
• Troubleshooting
17
Top image from Jeff Patton
Other images from
Miro templates and examples
18. Two Common Questions
• What about Testers, BAs, POs, SMs etc.?
– If you are part of the team, you are in the Mob
• Should we mob all day?
– It depends on the team
– Many successful teams mob continuously
– Some teams mob for a number of hours daily
– Some teams mob on really hard problems or to
learn new things
– Give mobbing a try 18
?
22. • You are already using this for
meetups and for business
• Developers can use it to
share screens and even
keyboards
• Try https://zoom.us/
Tools We Used Today
22
23. • Great for learning to Mob, practicing Code
Katas
• Web access http://cyber-dojo.org/
• Dozens of programming languages, test
tools and code katas built in
• Performs automatic check-in with every test
Tools We Used Today
23
24. • Online-Stopwatch standard Timer
• https://www.online-stopwatch.com
• Preset 3 minute + 2 timer
• https://www.online-
stopwatch.com/full-screen-
interval-timer/?c=vp1vzymz2v
Tools We Used Today
24
25. • Collaborative Video and Audio
– Everyone’s face seen and voice heard
• Screen Sharing
– Code is seen by everyone
• Keyboard Sharing
– Everyone can become the Driver
• Timer
– Everyone knows when to switch roles
• Whiteboarding
– Everyone can draw and write down thoughts
Essential Tools for Remote Mobbing
25
26. • Powerful Personal Computer
• Large Monitor - to see code
• Second Monitor - to see faces
• Public Internet or VPN
• Cat 7 Ethernet Cabling (not WIFI if possible)
• Webcam
• Microphone
Basic HW for Remote Mobbing
26
27. • Collaborative Video and Audio
– Zoom, Webex, Microsoft Teams, Google Meet, etc.
• Screen Sharing
– Zoom, Webex, Microsoft Teams, Google Meet, etc.
• Keyboard Sharing
– Zoom, Webex, Google Meet (Chrome Remote Desktop
installed), Tuple (Mac)
• Timer
– Online-Stopwatch, Mobtime, Mobster
• Whiteboarding
– Miro
Basic SW for Remote Mobbing
27
28. • Chat (email, phone not adequate)
– Slack, Microsoft Teams (Windows)
• Cloud Based Source Code Repository
– GitHub
• Kanban / Project Board
– Trello
• Brainstorming and Retrospectives
– IdeaBoardz
Other Software for Remote Mobbing
28
31. Talk to Me
• For info about free talks, workshops, chat or
have me come and help your teams, contact me.
• Email: cbell@CamilleBellConsulting.com
(best way to contact me)
• Twitter: @agilecamille
• Slideshare: camille_bell
• LinkedIn: https://www.linkedin.com/in/camillebell/
31