Building quality software is challenging enough. Trying to build software remotely is even more of a challenge.
Mob programming (also know as ensemble programming) engages your team members throughout their development day to ensure they can continually deliver high-quality software to your customers. It can in some ways make remote software development even better than live, “in-person” software development. With mob programming, new team members ramp up more quickly and novice developers will speed up their journey to becoming highly-capable developers.
Not only that, many mob programming teams continue to tell us two startling things on a regular basis:
-
“We’re going faster.”
-
“We had a fun day today.”
In this one-day workshop, you’ll experience mob programming first-hand. You’ll:
-
discuss why collaboration is critical for successful modern software development
-
discover what mob programming is and is not, and when you should employ it
-
practice safe and effective mob programming using a few simple rules for mechanics and roles
-
understand reasons why mob programming work produces higher quality systems and why it can speed up a team
-
learn how to integrate mob programming into a remote development team. You’ll use a simple tool that allows rapid switching of drivers, but you’ll also learn about alternate mechanisms for remote mob programming.
-
learn how to manage common mob challenges, including interpersonal and team dysfunctions
Despite its name that suggests it’s only for programmers, mob programming is actually most effective when the entire software development team participates regularly. This includes anyone actively contributing to defining, designing, and building the product, including but not limited to:
-
QA / testers
-
UX folk
-
business analysts
-
product owners
Your entire team is welcome to the workshop!
The bulk of the workshop will be hands-on exercises. We tailor exercises to the audience, so no prior programming experience is necessary (unless that’s what you want).
-
Overview of mob programming
-
Roles
-
Collaborative development
-
Pair programming
-
Overhead costs
-
-
Techniques for remote mob development
-
Git handover via mob.sh
-
-
Mob programming rules
-
Strong-style navigation
-
Rapid swapping of driver
-
Safety and comfort
-
-
Using pomodoros for effective time management
-
Tips for maintaining and sustaining
-
Goals and rationale for mob programming
-
Reduced WIP
-
Minimized ceremony and overhead
-
Improved flow
-
-
Face to face again?
-
Further explorations
-
Your next steps