by Tobias Froehlich, Agile Workplace Consultant, Froehlich Workplaces
What is mob programming?
Pioneered seven years ago at Hunter Industries in California, mob programming is a highly collaborative way of working that is becoming known across the world, and for good reason. Mob programming boosts productivity, knowledge sharing, and team cohesion by bringing together many brilliant minds to work on the same thing, at the same time, in the same space, and at the same computer. It’s a technique that’s transfiguring workplaces, with key implications for the design industry.
How it works
Mob programming involves three or more people working on the same code, on the same computer. To make this process work effectively, the team functions with one person operating the keyboard and mouse, and another calling out the next maneuver, while other team members actively observe and give input. Then, at a regularly timed intervals (3 to 15 minutes, depending on the team), team members switch positions.
Mob programming at Pluralsight
The “driver” at the keyboard is implementing the idea suggested by the “navigator”, pointing at the left. The other team members are actively engaged, giving input along the way. Team members switch positions every 3-15 minutes.
Having multiple team members engaged on the same piece of work through mob programming has significant productivity benefits.By eliminating wait times, it enables teams to commit new software updates daily. Furthermore, it encourages knowledge sharing, eliminates wait time for decisions, and significantly improves quality of the resulting code by reducing typos and increasing adherence to standards. It’s a great way to get new hires up to speed, too.
Mob programming also has great interpersonal benefits. “What our teams have really come to enjoy is that social stimulus of constantly learning from their peers,” said Torrey Powell, senior director of engineering at Clearlink. He’s seen team members build respect for each other and become a cohesive unit, having lunch together and hanging out after work. This friendly and supportive environment motivates employees to stay at the company.
Impact on the Workplace
Mob programming is having a considerable reshaping effect on IT work environments, but finding the right setup can take a few (or many) tries. “When my team started to mob, we got in one small room with a TV that was a little too high up,” said Alan Inacio, senior software engineer at Pluralsight, a tech learning platform with a Boston office. “We were uncomfortable and enclosed the entire time, which contributed to burnout for us.” But they didn’t give up – eager to capture the benefits of mob programming, Pluralsight teams in Boston found success by creating dedicated team workstations in open settings. And they’re not the only ones.
“Watching our productivity and quality go up, I thought to myself, ‘We know we want to make mobbing easier’”, said Chris Lucian, director of software development and member of the first mob programming team at Hunter Industries. “The space is key to that.” Starting with a cleared-out floorplate, Lucian purchased whiteboards, tables, and monitors to furnish Hunter’s IT space. All furniture in the space is on wheels, creating a modular setting where teams can iterate layouts to find the best arrangement for them.
Hunter Industries’ mob programming space in San Marcos, California
Hunter’s IT space houses nine mobs. Televisions, tables, chairs, and whiteboards in the team’s workspace are all on wheels, allowing teams to self-organize and iterate to find the ideal setup.
Image courtesy of Chris Lucian (https://www.chrislucian.com)
Other companies are also beginning to apply this iterative do-it-yourself approach. “My CEO and I bought tables and moved things around,” said Matt Ferguson, CTO at Zeeto, an online advertising platform that has completely redesigned their IT wing in Utah. “We iterated on a monthly basis until we had something that worked.” Zeeto’s space now houses 10 three-person mobs in two rows that face each other.
Zeeto’s mob-optimized IT floor layout
After several iterations, Zeeto has settled on the layout above, which optimizes acoustics, privacy, and visibility. Two rows of adjacent 3-person mobs are separated by a hallway. Personal space is limited to one pedestal cabinet per team member.
Spaces dedicated for mob programming deliver several advantages, including reduction of the total footprint of a team. Since team members will be mobbing for the majority of the day, fewer individual desks are needed, and the cost is lower (according to Lucian, a mob station costs half as much as individual stations for each team member). Additionally, and very importantly for organizations that want to introduce mobbing to their workplaces, these stations encourage teams to mob. “It’s organized in a way that mobbing is the obvious thing to do”, said Lucian.
Due to its clear benefits in the workplace, the use of mob programming is spreading to software development teams across the world. As teams adopt the practice, they radically re-arrange their workspaces in order to be able to effectively work side-by-side during most hours of the day. As mob programming catches on, increasing numbers of organizations may make these kings of adaptations, causing continued change in how we design our workspaces and organizations.