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
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.
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!
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.
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.
• 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.
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!
• 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!