Mob Programming
An in person mobbing session

Mob Programming

I wanted to explain what mob programming is and give some insight into how helpful I have found it. Mobbing is a great way to learn by doing and to teach others. I have used it before in project teams coding in Python. It's a great experience and I would highly recommend trying it in your team.


What is mob programming?

No alt text provided for this image
Agile is a way of working to manage project work

It is a software development approach and supports Agile ways of working.


The whole team works on the same thing, at the same time and at the same computer (when in person) or screen sharing (when virtual).


A mob consists of three or more developers with a maximum of six. A mob of two is called pair programming. It is Informally known as mobbing.


Business SMEs (subject matter experts) can also be present in as a guest expert.


How does mobbing work?

Mobbing has two main roles:

  • the driver
  • the navigator(s)

One person at a time will be the driver and remaining team members will be navigators.?Every 10 to 15 minutes, the driver will change to another team member and will rotate around the whole team.


What are the mobbing role descriptions?

The driver will operate the keyboard, screen and writes the code. They take instructions from other mob members on what to do or they can translate the ideas heard from the navigators and turn them into code.

The navigator observers and gives instructions. They actively engage in the coding discussion and think of ideas and solutions to put forward suggestions?to the driver.


What are the benefits of mobbing?

No alt text provided for this image
The benefits of mobbing

  • No delays in answering any questions when your whole team is together.?
  • Rapid up skilling in team members coding from more technical team members.
  • Speed, developing software quickly. Higher quality code reviews.
  • Flexibility to step away if someone has to go to a meeting or take a day off or long holiday. The work doesn’t have to stop and it's not locked up on any one person’s computer. These interruptions don’t?no slow down development.
  • Onboarding of new team members into the mob happens immediately.
  • Increased team moral when interactions are with kindness, consideration, and respect.

What are the disadvantages of mobbing?

No alt text provided for this image
The pros and cons of mobbing

  • Sometimes not very efficient when a more senior developer could solve the work quickly on their own but it can help more junior team members to improve and learns tips and tricks from senior developers.
  • Live coding in front of peers can be nerve wrecking?but your code will improve with real time tutoring.
  • It can be an introvert’s nightmare?but good to socialise and knowledge share.
  • Not good for hybrid working when some developers are coding in person and others are remote but very efficient when everyone is remote or everyone is in person.
  • It's not really a brainstorming session its for programming together?but it is good for well defined problems to solve.


Try Mobbing

If you found reading about mobbing interesting, try it for yourself. All you need is your team members, a coding language, a decent IDE (integrated development environment), a version control and code repository. Happy Mobbing!

Guillermo Espinola Orci

Creating better software by creating software better! Party starter! Always Sparking Up conversation

1 年

Does it has any sense to have a couple of mobs working in parallel?

回复

要查看或添加评论,请登录

Michelle Conway的更多文章

  • PyData London

    PyData London

    I recently attended the PyData Conference in London, it was a really interesting collection of talks, demos and…

    5 条评论