SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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
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
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
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
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/
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
Global Mob Programming
Sunday’s Mob participants:
8
• Africa
– Kenya
• Europe
– Denmark
– Germany
– Spain
• USA
– DC area
– Michigan
– Missouri
– Utah
– Washington State
“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
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
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
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
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
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
Live Remote Mobbing
15
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
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
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
?
A Few Questions
19
Some Mob Programming Styles
• Navigator Leads Strongly
• Navigator Moderates and Decides
• Navigator Listens and Decides
• No Explicit Navigator
20
More Live Remote Mobbing
21
• 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
• 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
• 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
• 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
• 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
• 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
• 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
Some Mob Programming Books
All available at leanpub.com
29
A Few More Questions
30
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

Contenu connexe

Tendances

Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviewsnextbuild
 
Facilitating Release Planning Event
Facilitating Release Planning EventFacilitating Release Planning Event
Facilitating Release Planning EventRavi Tadwalkar
 
Scrum Master Facilitation Techniques
Scrum Master Facilitation TechniquesScrum Master Facilitation Techniques
Scrum Master Facilitation TechniquesXPDays
 
Software Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentSoftware Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentKristine Hejna
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)Mike Harris
 
Overview of agile methodology
Overview of agile methodologyOverview of agile methodology
Overview of agile methodologyPhuong Pham
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming liveJohannes Brodwall
 
Who Cares About Information Governance: How our passionate people and powerfu...
Who Cares About Information Governance: How our passionate people and powerfu...Who Cares About Information Governance: How our passionate people and powerfu...
Who Cares About Information Governance: How our passionate people and powerfu...AIIM International
 
The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practicesBill Buchan
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
Customized Scrum
Customized ScrumCustomized Scrum
Customized ScrumAbdul Karim
 
High Quality C# - Codequality in Practice
High Quality C# - Codequality in PracticeHigh Quality C# - Codequality in Practice
High Quality C# - Codequality in PracticeRainer Stropek
 

Tendances (20)

Pair programming
Pair programmingPair programming
Pair programming
 
Useful automation
Useful automationUseful automation
Useful automation
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviews
 
Facilitating Release Planning Event
Facilitating Release Planning EventFacilitating Release Planning Event
Facilitating Release Planning Event
 
Scrum Master Facilitation Techniques
Scrum Master Facilitation TechniquesScrum Master Facilitation Techniques
Scrum Master Facilitation Techniques
 
Software Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentSoftware Defects and SW Reliability Assessment
Software Defects and SW Reliability Assessment
 
Agile Executive Forum: Agile and Outsourcing
Agile Executive Forum: Agile and OutsourcingAgile Executive Forum: Agile and Outsourcing
Agile Executive Forum: Agile and Outsourcing
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 
Overview of agile methodology
Overview of agile methodologyOverview of agile methodology
Overview of agile methodology
 
Clean code
Clean codeClean code
Clean code
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
 
Who Cares About Information Governance: How our passionate people and powerfu...
Who Cares About Information Governance: How our passionate people and powerfu...Who Cares About Information Governance: How our passionate people and powerfu...
Who Cares About Information Governance: How our passionate people and powerfu...
 
The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practices
 
Make a better with clean code
Make a better with clean codeMake a better with clean code
Make a better with clean code
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Agile methodology and scrum development
Agile methodology and scrum developmentAgile methodology and scrum development
Agile methodology and scrum development
 
Customized Scrum
Customized ScrumCustomized Scrum
Customized Scrum
 
Soft Eng 1st PPT
Soft Eng 1st PPTSoft Eng 1st PPT
Soft Eng 1st PPT
 
High Quality C# - Codequality in Practice
High Quality C# - Codequality in PracticeHigh Quality C# - Codequality in Practice
High Quality C# - Codequality in Practice
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 

Similaire à Remote Mob Programming

Transforming Chaos To Clarity, Ron Lichty
Transforming Chaos To Clarity, Ron LichtyTransforming Chaos To Clarity, Ron Lichty
Transforming Chaos To Clarity, Ron LichtyRon Lichty
 
Scrum and agile principles
Scrum and agile principles Scrum and agile principles
Scrum and agile principles Ruben Canlas
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamRob Curry
 
Adam Ochs - Office 365 Roadmap
Adam Ochs - Office 365 RoadmapAdam Ochs - Office 365 Roadmap
Adam Ochs - Office 365 RoadmapAdam Ochs
 
Organizational Design for Effective Software Development
Organizational Design for Effective Software DevelopmentOrganizational Design for Effective Software Development
Organizational Design for Effective Software DevelopmentDev9Com
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft
 
22-AnOverviewOfScrum.pptx
22-AnOverviewOfScrum.pptx22-AnOverviewOfScrum.pptx
22-AnOverviewOfScrum.pptxHelenCandy2
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM WatsonUserTesting
 
Top 10 Agile Metrics
Top 10 Agile MetricsTop 10 Agile Metrics
Top 10 Agile MetricsXBOSoft
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product DevelopmentGary Pedretti
 
So Now You’re a UiPath Developer – What’s Next? Who are the Stakeholders?
So Now You’re a UiPath Developer – What’s Next?  Who are the Stakeholders?So Now You’re a UiPath Developer – What’s Next?  Who are the Stakeholders?
So Now You’re a UiPath Developer – What’s Next? Who are the Stakeholders?DianaGray10
 
So Now You’re a UiPath Developer – What’s Next? Who are the Stakeholders?
So Now You’re a UiPath Developer – What’s Next?  Who are the Stakeholders?So Now You’re a UiPath Developer – What’s Next?  Who are the Stakeholders?
So Now You’re a UiPath Developer – What’s Next? Who are the Stakeholders?DianaGray10
 
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...Gene Kim
 
Mirco hering devops for systems of record final
Mirco hering devops for systems of record finalMirco hering devops for systems of record final
Mirco hering devops for systems of record finalMirco Hering
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated TestingLars Thorup
 
Introduction to-automated-testing
Introduction to-automated-testingIntroduction to-automated-testing
Introduction to-automated-testingBestBrains
 

Similaire à Remote Mob Programming (20)

Transforming Chaos To Clarity, Ron Lichty
Transforming Chaos To Clarity, Ron LichtyTransforming Chaos To Clarity, Ron Lichty
Transforming Chaos To Clarity, Ron Lichty
 
Scrum and agile principles
Scrum and agile principles Scrum and agile principles
Scrum and agile principles
 
Why Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My TeamWhy Isn't Clean Coding Working For My Team
Why Isn't Clean Coding Working For My Team
 
Roadmap
RoadmapRoadmap
Roadmap
 
Adam Ochs - Office 365 Roadmap
Adam Ochs - Office 365 RoadmapAdam Ochs - Office 365 Roadmap
Adam Ochs - Office 365 Roadmap
 
Organizational Design for Effective Software Development
Organizational Design for Effective Software DevelopmentOrganizational Design for Effective Software Development
Organizational Design for Effective Software Development
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
 
Game changers
Game changersGame changers
Game changers
 
22-AnOverviewOfScrum.pptx
22-AnOverviewOfScrum.pptx22-AnOverviewOfScrum.pptx
22-AnOverviewOfScrum.pptx
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM Watson
 
Top 10 Agile Metrics
Top 10 Agile MetricsTop 10 Agile Metrics
Top 10 Agile Metrics
 
scrum-talk
scrum-talkscrum-talk
scrum-talk
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 
So Now You’re a UiPath Developer – What’s Next? Who are the Stakeholders?
So Now You’re a UiPath Developer – What’s Next?  Who are the Stakeholders?So Now You’re a UiPath Developer – What’s Next?  Who are the Stakeholders?
So Now You’re a UiPath Developer – What’s Next? Who are the Stakeholders?
 
So Now You’re a UiPath Developer – What’s Next? Who are the Stakeholders?
So Now You’re a UiPath Developer – What’s Next?  Who are the Stakeholders?So Now You’re a UiPath Developer – What’s Next?  Who are the Stakeholders?
So Now You’re a UiPath Developer – What’s Next? Who are the Stakeholders?
 
Scrum intro
Scrum intro Scrum intro
Scrum intro
 
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...
 
Mirco hering devops for systems of record final
Mirco hering devops for systems of record finalMirco hering devops for systems of record final
Mirco hering devops for systems of record final
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated Testing
 
Introduction to-automated-testing
Introduction to-automated-testingIntroduction to-automated-testing
Introduction to-automated-testing
 

Plus de Camille Bell

What CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingWhat CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingCamille Bell
 
Software Craftsmanship Workshop
Software Craftsmanship WorkshopSoftware Craftsmanship Workshop
Software Craftsmanship WorkshopCamille Bell
 
What They Didn't Tell You in CSM Clas
What They Didn't Tell You in CSM ClasWhat They Didn't Tell You in CSM Clas
What They Didn't Tell You in CSM ClasCamille Bell
 
Inside Behavior Driven Development
Inside Behavior Driven DevelopmentInside Behavior Driven Development
Inside Behavior Driven DevelopmentCamille Bell
 
Growing Manual Testers into Automators
Growing Manual Testers into AutomatorsGrowing Manual Testers into Automators
Growing Manual Testers into AutomatorsCamille Bell
 
Testing for Agility: Bringing Testing into Everything
Testing for Agility: Bringing Testing into EverythingTesting for Agility: Bringing Testing into Everything
Testing for Agility: Bringing Testing into EverythingCamille Bell
 
Automate Debugging with git bisect
Automate Debugging with git bisectAutomate Debugging with git bisect
Automate Debugging with git bisectCamille Bell
 
An Introduction to Kanban
An Introduction to KanbanAn Introduction to Kanban
An Introduction to KanbanCamille Bell
 
Promoting Agility with Running Tested Features - Lightening Talk
Promoting Agility with Running Tested Features - Lightening TalkPromoting Agility with Running Tested Features - Lightening Talk
Promoting Agility with Running Tested Features - Lightening TalkCamille Bell
 
Promoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - PaperPromoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - PaperCamille Bell
 
Adapting Agility: Getting your Agile Transformation Unstuck
Adapting Agility: Getting your Agile Transformation UnstuckAdapting Agility: Getting your Agile Transformation Unstuck
Adapting Agility: Getting your Agile Transformation UnstuckCamille Bell
 

Plus de Camille Bell (11)

What CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingWhat CS Class Didn't Teach About Testing
What CS Class Didn't Teach About Testing
 
Software Craftsmanship Workshop
Software Craftsmanship WorkshopSoftware Craftsmanship Workshop
Software Craftsmanship Workshop
 
What They Didn't Tell You in CSM Clas
What They Didn't Tell You in CSM ClasWhat They Didn't Tell You in CSM Clas
What They Didn't Tell You in CSM Clas
 
Inside Behavior Driven Development
Inside Behavior Driven DevelopmentInside Behavior Driven Development
Inside Behavior Driven Development
 
Growing Manual Testers into Automators
Growing Manual Testers into AutomatorsGrowing Manual Testers into Automators
Growing Manual Testers into Automators
 
Testing for Agility: Bringing Testing into Everything
Testing for Agility: Bringing Testing into EverythingTesting for Agility: Bringing Testing into Everything
Testing for Agility: Bringing Testing into Everything
 
Automate Debugging with git bisect
Automate Debugging with git bisectAutomate Debugging with git bisect
Automate Debugging with git bisect
 
An Introduction to Kanban
An Introduction to KanbanAn Introduction to Kanban
An Introduction to Kanban
 
Promoting Agility with Running Tested Features - Lightening Talk
Promoting Agility with Running Tested Features - Lightening TalkPromoting Agility with Running Tested Features - Lightening Talk
Promoting Agility with Running Tested Features - Lightening Talk
 
Promoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - PaperPromoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - Paper
 
Adapting Agility: Getting your Agile Transformation Unstuck
Adapting Agility: Getting your Agile Transformation UnstuckAdapting Agility: Getting your Agile Transformation Unstuck
Adapting Agility: Getting your Agile Transformation Unstuck
 

Dernier

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 

Dernier (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 

Remote Mob Programming

  • 1.
  • 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 ?
  • 20. Some Mob Programming Styles • Navigator Leads Strongly • Navigator Moderates and Decides • Navigator Listens and Decides • No Explicit Navigator 20
  • 21. More Live Remote Mobbing 21
  • 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
  • 29. Some Mob Programming Books All available at leanpub.com 29
  • 30. A Few More Questions 30
  • 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