Advantage of #mobprogramming: 1. Increased collaboration on the Scrum Team - all team members are working on the task at hand, exchanging ideas, working together, and creating a shared understanding of the code and solution.
2. Transparent Codebase - team members can gain a deeper understanding of the system and code as a whole rather than just their own areas of responsibility. This entire team understanding removes "knowledge silos" and removes fragility from the team.
3. Faster Development: problems can be solved faster by working together, leading to value delivered sooner. Much of this happens through the Agile Principle - "Simplicity - the art of maximizing the amount of work not done - is essential."
4. Improved Code Quality: With many pairs of eyes reviewing, considering, and revising the code as it's being written, the likelihood of bugs and other issues being caught and fixed increases.
5. Enhanced Learning Opportunities: Mob programming can allow team members to learn from one another as they work together and share knowledge through better communication and collaboration as they work on the code in real-time.
6. Greater Accountability for Delivery and Quality: With all team members working on the same codebase, it's easier to hold everyone accountable for the quality of the code they produce. It's also easier to swarm issues and blockers as a team, enabling smoother delivery.
7. Enhanced agility: #MobProgramming allows teams to be more agile and responsive to changing requirements or priorities, as they can easily shift focus and collaborate as needed. This can lead to better partnerships with stakeholders and customers.
8. Focus on the Team: The myth of 10x developers does not survive in #MobProgramming. Success is at the team level and not the individual level.
9. Improved Team On-Boarding Experience: New employees can be effective on day one by contributing to the mob with ideas and suggestions while also learning about the codebase's design, structure, and architecture.
10. Empowerment: While #mobprogramming is unorthodox, self-organizing / self-managing Scrum Teams have the right to decide how best to do their work.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Reasons NOT to use #MobProgramming as a software development strategy:
1. Mob programming may only be suitable for some types of projects, teams, or initiatives. It may be more effective for certain tasks or projects but less effective for others.
2. Mob programming may not be suitable in a distributed work world because it requires a high level of collaboration and communication. To communicate effectively, geographically dispersed teams may need a significant investment in tools and infrastructure.
3. The infrastructure required for #mobprogramming may be more complex or costly than traditional software development methods.