Description
Mob programming is a technique used by a collaborative software development team to rapidly solve a problem, or to write complex software. Mob programming is similar to pair programming, but with two distinctions. First, mob programming uses as many developers as possible so that many perspectives lead to a more complete solution. Secondly, mob programming is performed on-demand, and it is not a standard behavior for the team.
Typical Roles
Agile Team
Product Owner
Scrum Master
Desired Behaviors
- 1.
Determine when and how the agile team should use mob programming. Include the conditions and procedures in the agile team’s charter or team agreement.
- 2.
Identify the best mix of team members based on the problem to be solved by mob programming.
- 3.
Have the scrum master facilitate the session to make sure it is effective and valuable.
- 4.
Ensure that agile values are exhibited.
- 5.
Ensure that team agreements are respected.
- 6.
Conduct a short retrospective at the end of each session to improve future sessions.
- 7.
Share learning beyond the agile team.