Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mob Programming (2016)

353 views

Published on

Short iIntroduction to Mob Programming.

Published in: Technology
  • Be the first to comment

Mob Programming (2016)

  1. 1. Mob Programming May 2016 Peter Kofler, ‘Code Cop’ @codecopkofler www.code-cop.org Copyright Peter Kofler, licensed under CC-BY.
  2. 2. Peter Kofler • Ph.D. (Appl. Math.) • Professional Software Developer for 15+ years • “fanatic about code quality” • I help development teams PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  3. 3. I help development teams with PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY ● Professionalism ● Quality and Productivity ● Continuous Improvement
  4. 4. Mentoring PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY ● Pair Programming ● Programming Workshops ● Deliberate Practice, e.g. Coding Dojos
  5. 5. Developing Quality Software Developers
  6. 6. Pair Programming ● Two programmers ● work together ● on the same thing ● at one workstation. Pair programming is a dialogue between two people simultaneously programming (and analysing and designing and testing) PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  7. 7. Mob Programming ● All the brilliant people ● working at the same time, ● in the same space, ● at the same computer, ● on the same thing. PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY http://mobprogramming.org/
  8. 8. Enterprise CTO not impressed by mob programming. “We often have hundreds of developers working on the same thing.” (Hacker News Onion)
  9. 9. Mobbing Roles
  10. 10. Driver ● Writes code and “does not think“. (intelligent input device) ● Only listens to navigator. ● Asks for help when lost. ● Participates in discussion when not typing. ● Rotates every 4 minutes. (e.g. Coding – Commit – Rotate) PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  11. 11. Navigator ● Formulates the ideas of the team. ● Tells the driver what to do. ● Does not tell short-cuts (unless asked). PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  12. 12. The Team ● Focuses on the code. ● Does not zone out/use mobile phone etc. ● Proposes changes. ● Gives ideas. ● Asks questions. ● Might google for some API/details. PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  13. 13. Facilitator ● Teams new to Mob Programming might need a dedicated facilitator with experience in team dynamics. ● Does not type or discuss. ● Cares for the rules. ● Mitigates emotional aspects of mobbing. PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  14. 14. The Rules
  15. 15. 3 Simple Rules ● Driver does not think. ● Navigator formulates the ideas of team and driver only listens to navigator. ● Start with 4 minute rotation. (Volunteer will check the timer.) PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY I heard them first from Nancy Van Schooenderwoert, https://twitter.com/vanschoo
  16. 16. Sandro Mancuso's “Fast Mob“ ● Fastest driver. (We do not want to lose time for rotating or learning short-cuts.) ● Driver is not rotating. ● Driver is the one who types fastest/knows IDE best. ● Driver uses his/her best known environment. ● Constantly move forward. (If the mob does not decide, the driver starts typing and moves forward in any direction.) PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY http://codurance.com/2015/11/01/practicing-well-crafted-design/
  17. 17. Mitigate Emotional Aspects (for new/young team with strong opinions) ● Give preference (i.e. allow other approaches and see what happens) ● Stick to a given idea for a few minutes before questioning it (again). ● Objections and other/different ideas are noted, but team moves on. ● Don't discuss (too much). ● Don't shout or interrupt. PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  18. 18. Hints for working on the projector or large screen ● Colours (Contrast is different.) ● Font size (e.g. presentation mode) ● Line numbers ● Map references on the monitor → PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY Image by https://twitter.com/sf105/status/706810807301050370
  19. 19. Peter Kofler @codecopkofler www.code-cop.org PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY
  20. 20. CC Images ● mob https://www.flickr.com/photos/67471462@N00/446597008/ ● Bruce http://www.flickr.com/photos/sherpas428/4350620602/ ● pairing http://www.flickr.com/photos/dav/94735395/ ● driver http://www.flickr.com/photos/48694743@N00/517658329/ ● rules http://www.flickr.com/photos/mc_sensei/3935815039/ PETER KOFLER, CODE-COP.ORG FANATIC ABOUT CODE QUALITY

×