SlideShare a Scribd company logo
1 of 27
Put down the pitchforks
and pick up a keyboard
Mob
Program
ming
“All the brilliant people working
on the same thing, at the same
time, in the same space, and on
the same computer”
- Woody Zuill
Concerns in a nutshell
• It’s wasteful/inefficient
• You’re using [x] people to do 1 or 2 people’s work!
• We don’t have the resources to work that way
Concerns in a nutshell
There’s more to programming than code…
• Implement a ‘walking skeleton’
• Decide if it’s fit-for-purpose
• Agree on refactoring
• Reviewing with stakeholders
• Analysing requirements
• Deciding how to solve a problem
• Agreeing on an approach
• Creating examples/scenarios
KNOWLEDGE
SHARING
CODE REVIEW
CONSISTENCY
DEBATE
LEARNING
INCLUSIVE
EMERGENT
DESIGN
Driver NavigatorsCentral Monitor
(HDMI / DVI / VGA)
Tea and biscuits
Similarly-specced machines
(plus a wireless keyboard/mouse)
Pens, paper,
whiteboards
for sketching
Monitor and webcam
Isolated from noise
(incoming and outgoing!)
Tricks of the trade
• Line numbers
• Sidebar
• Mobbing remotely
MOBBING:
THE CHALLENGES
NOT EVERY TASK IS SUITABLE
SPLITTING ISN'T A SIN
BEWARE RABBIT HOLES
DON’T MAKE ONE PERSON DRIVE FOR TOO
SUPPORT THE DRIVER
TRUST REQUIRED
DON'T FORCE IT
Conclusion
• Can be more productive (in the right situations)
• Knowledge-sharing means less ramp-up time on related tasks
• It’s worked for us – it might work for you
• It’s easy to try
• Contact us if you’d like some advice
#MobProgramming

More Related Content

Similar to Mob programming - put down the pitchforks and pick up a keyboard

Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesMike Clement
 
Interaction Design
Interaction DesignInteraction Design
Interaction DesignKajsa Gren
 
[I3 d]03 interactivity
[I3 d]03 interactivity[I3 d]03 interactivity
[I3 d]03 interactivityjylee6977
 
UX for VR ignite talk
UX for VR ignite talkUX for VR ignite talk
UX for VR ignite talkDelightex
 
Prototyping 2013.12.12.
Prototyping 2013.12.12.Prototyping 2013.12.12.
Prototyping 2013.12.12.zhenxun
 
Tablet pc
Tablet pcTablet pc
Tablet pcjaved22
 
UX LX in short...
UX LX in short...UX LX in short...
UX LX in short...pubsmith
 
Rettig.Interaction Design History.V1.5
Rettig.Interaction Design History.V1.5Rettig.Interaction Design History.V1.5
Rettig.Interaction Design History.V1.5pemi hua
 
Beginner's Guide to UI Design
Beginner's Guide to UI DesignBeginner's Guide to UI Design
Beginner's Guide to UI DesignMáirín Duffy
 
Game Design 2 (2013): Lecture 5 - Game UI Prototyping
Game Design 2 (2013): Lecture 5 - Game UI PrototypingGame Design 2 (2013): Lecture 5 - Game UI Prototyping
Game Design 2 (2013): Lecture 5 - Game UI PrototypingDavid Farrell
 
UX skillsharing at Betahaus Sofia
UX skillsharing at Betahaus SofiaUX skillsharing at Betahaus Sofia
UX skillsharing at Betahaus SofiaDamjan Obal
 
Getting started in mobile games
Getting started in mobile gamesGetting started in mobile games
Getting started in mobile gamesahamidi27
 
What's up about Plasma-MID?
What's up about Plasma-MID?What's up about Plasma-MID?
What's up about Plasma-MID?OpenBossa
 
SPTechCon 2014 San Francisco Visual Tools and Gamestorming Workshop
SPTechCon 2014 San Francisco Visual Tools and Gamestorming WorkshopSPTechCon 2014 San Francisco Visual Tools and Gamestorming Workshop
SPTechCon 2014 San Francisco Visual Tools and Gamestorming WorkshopMichelle Caldwell, PSM, SSGB
 

Similar to Mob programming - put down the pitchforks and pick up a keyboard (20)

e3-chap-19.ppt
e3-chap-19.ppte3-chap-19.ppt
e3-chap-19.ppt
 
體驗劇場_1050503_W11_原型設計_楊政達
體驗劇場_1050503_W11_原型設計_楊政達體驗劇場_1050503_W11_原型設計_楊政達
體驗劇場_1050503_W11_原型設計_楊政達
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code Games
 
Interaction Design
Interaction DesignInteraction Design
Interaction Design
 
[I3 d]03 interactivity
[I3 d]03 interactivity[I3 d]03 interactivity
[I3 d]03 interactivity
 
UX for VR ignite talk
UX for VR ignite talkUX for VR ignite talk
UX for VR ignite talk
 
Prototyping 2013.12.12.
Prototyping 2013.12.12.Prototyping 2013.12.12.
Prototyping 2013.12.12.
 
Tablet pc
Tablet pcTablet pc
Tablet pc
 
UX LX in short...
UX LX in short...UX LX in short...
UX LX in short...
 
Rettig.Interaction Design History.V1.5
Rettig.Interaction Design History.V1.5Rettig.Interaction Design History.V1.5
Rettig.Interaction Design History.V1.5
 
Beginner's Guide to UI Design
Beginner's Guide to UI DesignBeginner's Guide to UI Design
Beginner's Guide to UI Design
 
Game Design 2 (2013): Lecture 5 - Game UI Prototyping
Game Design 2 (2013): Lecture 5 - Game UI PrototypingGame Design 2 (2013): Lecture 5 - Game UI Prototyping
Game Design 2 (2013): Lecture 5 - Game UI Prototyping
 
Wireframe like a UX Pro
Wireframe like a UX ProWireframe like a UX Pro
Wireframe like a UX Pro
 
How Do I UX?
How Do I UX?How Do I UX?
How Do I UX?
 
UX skillsharing at Betahaus Sofia
UX skillsharing at Betahaus SofiaUX skillsharing at Betahaus Sofia
UX skillsharing at Betahaus Sofia
 
Getting started in mobile games
Getting started in mobile gamesGetting started in mobile games
Getting started in mobile games
 
E3 chap-05
E3 chap-05E3 chap-05
E3 chap-05
 
What's up about Plasma-MID?
What's up about Plasma-MID?What's up about Plasma-MID?
What's up about Plasma-MID?
 
SPTechCon 2014 San Francisco Visual Tools and Gamestorming Workshop
SPTechCon 2014 San Francisco Visual Tools and Gamestorming WorkshopSPTechCon 2014 San Francisco Visual Tools and Gamestorming Workshop
SPTechCon 2014 San Francisco Visual Tools and Gamestorming Workshop
 
Home OS
Home OSHome OS
Home OS
 

Recently uploaded

AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 

Recently uploaded (20)

AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Mob programming - put down the pitchforks and pick up a keyboard

Editor's Notes

  1. TODO: ONCE WE’RE SET, CONVERT FONT TO IMAGE
  2. NEIL AUDIENCE: TYPICAL PROBLEMS IN DEVELOPMENT Challenges we face – mini retro Waiting for answers: “Question Queue Time” All difficult to solve, but all can be made easier with mob programming
  3. OLI WHO HERE HAS HEARD OF MOB PROGRAMMING BEFORE? WHO’S ACTUALLY DONE IT? Invented by Woody Zuill when he was working at Hunter Industries Most of this is what we try to do in agile anyway. The last bit is the interesting extra twist.
  4. NEIL 10 lines – definitely an exaggeration “I am someone who writes code, they don’t write as much code as I do” Measuring progress by lines of code is BS!
  5. NEIL …Not many of these things require hands on a keyboard …Many of them involve multiple people having a conversation …With mobbing, those people are already in the same place at the same time
  6. OLI
  7. NEIL We had a row of pairing monitors to begin with This is good. Haven pods are even better (isolation from noise/distraction) Same VS versions, same Resharper versions, same preferences for e.g. line endings
  8. NEIL
  9. OLI Talk about what we can still do better? (or use that as a lead-in to the next slide)
  10. NEIL
  11. NEIL That’s OK. We’re not saying you should mob 24/7. We favour mobbing, but evaluate each task for suitability.
  12. OLI - …but don't be too precious about the mob​ (splitting is not a sin)​
  13. OLI - Rabbit-holes become more expensive if they drag the whole mob away​
  14. NEIL Don’t let one person drive too long. Don’t let it always be your most senior person. Pomodoro, whatever length fits – supposedly strict. We tend to rotate at appropriate point (e.g. tests green, section finished).
  15. NEIL Just because driver is in the hotseat, doesn’t mean navigators should switch off. Your role is just as important. You’ll be driving again soon, you’ll need to know what’s going on! As Oli said, if you need to split, just announce it and make sure you catch up on return.
  16. OLI -Everyone’s in the limelight – needs a safe/trusting environment​  
  17. NEIL You can't force a team to work this way. Things Oli said – trust, openness, freedom of communication – comes with time. New teams need to learn each other’s boundaries, what they’re comfortable with. If you throw everyone in at the deep end – everyone might hate it! Small steps, frequent retros.
  18. NEIL -you can't force a team to work this way
  19. NEIL 1 & 2 OLI 3 & 4 Both – thanks!!