Attending this event?
Wednesday, August 7 • 14:00 - 14:30
Harvesting Mob Programming Patterns: Observing how we work (Michael Keeling, Joe Runde)

Sign up or log in to save this to your schedule and see who's attending!

We were huge advocates of pair programming and have directly experienced the many benefits of pairing, but when we first heard about mob programming with thought it sounded crazy! Perhaps... so crazy it might actually work. Mob programming is a software development practice in which the whole team works on the same code at the same time. In our experience, mob programming can be significantly better than programming alone. While mobbing, we've created some of the best code our team has ever written faster than the typical code review cycle. We've explored new domains and architectures quickly. We've helped individuals feel more confident in their ability to change the system and built strong bonds within the team. In addition to these huge wins, we've also experienced a few bitter failures. Mobbing can be a tremendous waste of time in some circumstances. Not all mobs can work on all problems. Sometimes people forget how to be a good teammate.
In this report we explore a set of mob programming patterns discovered by two different teams and two different companies -- LendingHome and IBM -- after more than a year of practice. Patterns we found include emergent roles in the mob such as the recorder, researcher, and facilitator, collaboration patterns such as create a punch list and form splinter groups, and driving patterns such as think out loud and asking the mob to tell me what to write. While the patterns themselves proved interesting and useful, we were surprised at how much our mob programming improved after even modest reflection regarding our practice. In addition to the mob programming patterns, some of which corroborate experiences shared by other teams, we discuss the benefits of pattern harvesting as a mechanism for supporting reflective practice and general process improvement.

Lessons Learned from Your Experience:
  • • In the report we explore about half a dozen mob programming patterns
  • • There are many ways "right" ways for a mob to organize and work together.
  • • Patterns can be harvested through story telling and used as a strong feedback loop to improve practice.
  • • We can use concrete examples of practice, such as a patterns catalog, to make it easier for the team to want to try a potentially controversial practice such as mob programming.

avatar for Michael Keeling

Michael Keeling

Staff Software Engineer, LendingHome
avatar for Joe Runde

Joe Runde

Joe Runde is a software engineer who recently started his career at IBM. There he works on Watson while teaching about machine learning methods and learning about software design from many smarter folks. Joe has an MS in Machine Learning from Carnegie Mellon University and a BS in... Read More →

Wednesday August 7, 2019 14:00 - 14:30
Chesapeake 7/8/9
Feedback form isn't open yet.

Attendees (19)