Mob, Pair, or Solo Programming

Programming is a challenging task. You need to focus, to solve a problem, and to create a solution for problem. There are so many ways to do programming. In Agile environment, programming can be done through three ways. Solo programming, Pair Programming, and Mob Programming. This article will discuss when you choose one compare to the others.

Solo (all in one)

This is just like a song from Katty Perry featuring Clean Bandit. Solo! Solo means you do by yourself. You did plan, do, codes, and test activities. The solo great when

  • Project is simple and less complexity.
  • Less external dependencies and stakeholders.
  • Limited user experience

Benefits of solo programming are:

  • Faster in development
  • Codes are understandable.
  • Easy to manage.

Challenge in solo programming is:

  • Limited design principles applied during the development process.
  • Exhausted and bored
  • Undocumented codes

You can learn more here The Personal Software Process (PSP) (cmu.edu)

Pair (~2 developers in same role)

Pair is a couple way to do programming activity. Pair programming is great when.

  • Pair is available with different skills and knowledge.
  • Pair is great when face-to-face communication.
  • Pair is great when we have same role in a team.

Benefits of pair programming are:

  • Well-design product two head is better than one.
  • Transfer knowledge happens.
  • Shared ownership of the codes. The pair knows the codes.

Challenge in pair programming is:

  • Slow down the productivity.
  • Hard to implement in distributed environments (e.g., different time zones)
  • Suitability of pair person.

You can learn more about pair programming here On Pair Programming (martinfowler.com)

Mob (> 2 members in different role)

Mob is more than two peoples work together. Mob is great when.

  • Having members with different skillset
  • Having a good workspace to work together.
  • Having a jell team with good communication model.

Benefits of mob programming

  • Project understandability is the highest among the team members.
  • Validation and verification happen between members.
  • Near real time feedback model to shape the well-designed project

Challenge in mob programming

  • Specific infrastructure is needed.
  • The communication between members should be fluid between team members.
  • Limited productivity when the others work while the others only see the process.

You can learn mob programming here Mob Programming Basics – Mob Programming

So which one you prefer as your programming style? Put a comment please.

 

 

blog comments powered by Disqus

Topics Highlights

About @ridife

This blog will be dedicated to integrate a knowledge between academic and industry need in the Software Engineering, DevOps, Cloud Computing and Microsoft 365 platform. Enjoy this blog and let's get in touch in any social media.

Xbox

Month List

Visitor