Divide and Conquer
Divide and conquer is a strategy that involves taking a complex matter and breaking it up into small batches that can be more easily completed than the whole.
It is sometimes erroneously used to illustrate the theory of the shortcomings of mob programming with having all members of a team focusing on only one thing at a time. This comes from a confusion over what is being divided in the famous phrase. If a team divides itself and tries to have every person solve things on their own, then it may be difficult to integrate those pieces together in the end. Consider a haunted house in a horror movie and the knowledge of the doom that will face the protagonists once they decide to split up, allowing themselves to be left vulnerable in the territory of the enemy. The true metaphor to divide and conquer on a team is not to divide the team but to divide the work that the team has to perform so that the work can be completed incrementally.
Backlinks
-
Mob Programming
A common concern that people share with this style of working is that it feels as though the speed at which the team can deliver results must be slower in order to accommodate this style of working, because it requires everyone to be together at once instead of dividing the members of the team into individual work streams to work on multiple things at the same time (sometimes even incorrectly characterized as a divide and conquer approach). It does appear to be an expensive way of writing lines of code, but to truly consider velocity and cost, the total picture must also be considered. Mob programming practically eliminates the code review process as the code review has taken place completely within the code writing process itself. The amount of time that anyone on the team will need to review that code with others is also reduced, especially if they brought in product owners and UX designers throughout the process, having them join the working group.