Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A journeyman's photographic guide to mob programming

A journeyman's photographic guide to mob programming

An introduction to mob programming displaying numerous mobs that I have been a part of as facilitator or active participant.

Lennart Fridén

October 30, 2015

More Decks by Lennart Fridén

Other Decks in Programming


  1. M O B P R O G R A M

    M I N G A J O U R N E Y M A N ’ S P H O T O G R A P H I C G U I D E T O Lennart Fridén @DevLCSC | codecoupled.org
  2. – W O O D Y Z U I L

    L All the brilliant people working on the same thing, at the same time, in the same space, and on the same computer.
  3. – A B U N C H O F R

    A N D O M P E O P L E Pair programming on steroids.
  4. P R E PA R I N G A S

    E S S I O N S T E P 1
  5. • High resolution projector or other large display. • A

    familiar development environment. • A room with plenty of air. • Comfortable chairs. • A large whiteboard. • A tough problem for the team to work on together. R E C O M M E N D E D M O B S E T U P
  6. – T H AT P E R S O N

    O N S TA G E S H O W I N G Y O U T H I S There is no such as thing as too many, too large, or too high-resolution displays.
  7. P I C K I N G A TA S

    K S T E P 2
  8. F I N D T H E R I G

    H T L E V E L • Only got a few hours? Working with an unfamiliar team? You may want to mob program a code kata. • Already working as a team? A non-obvious, challenging task that requires the whole team to participate will show the strengths of mob programming.
  9. A S S E M B L E Y O

    U R M O B S T E P 3
  10. B E I N C L U S I V

    E • Ever wished you had stake holders, domain experts, UX designers, operations, customers, or end users readily available to answer questions and clarify requirements and needs? Invite them!
  11. S K I L L L E V E L

    S • Mixed teams are a strength, not a problem. • Mob programming equalises differing skill levels swiftly. • Editor key shortcuts, domain knowledge, programming language constructs and concepts, and previously stumbled- upon pitfalls are all shared.
  12. S TA R T M O B B I N

    G S T E P 4
  13. H O W T O M O B • The

    driver works at the keyboard. • The rest of the team act as navigators. • After a fixed amount of time, e.g. 10-15 min, the driver is replaced. • Repeat until everyone has acted as a driver, then repeat from the top.
  14. L E AV I N G T H E D

    R I V E R ’ S S E AT • Once you have finished your rotation as the driver, make a note of it.
  15. TA K E A B R E A K •

    Need a break? Take one! The important thing is that the mob continues to work. Individuals can come and go as needed.
  16. L E A R N A N D A D

    A P T S T E P 5
  17. E X P E R I M E N T

    • Each cycle is an excellent opportunity to perform various micro-experiments. • Not used to test-driven development? Try it! • Avoid using the mouse. • Try the strong pairing style of not letting the driver write anything unless instructed to do so by a navigator.
  18. R E T R O S P E C T

    I V E • End the session with a short retrospective. • What worked? • What can be improved? • What would you like to do differently? • Always turn up the good!
  19. S H A R E Y O U R E

    X P E R I E N C E S S T E P 6
  20. T E L L P E O P L E

    • Found something that works really well given your context? Perhaps learnt something unexpected about you and your team? • Write about it on your development blog. • The Twitter hashtag is #MobProgramming. • Encourage others to experiment too!
  21. L E N N A R T F R I

    D É N Twitter: @DevLCSC Github: DevL Blog: codecoupled.org drawing by Augie De Blieck