A few days ago I read this article regarding Mob Programming (sorry, it's in spanish) which get my interest because it was the first time I read about a thing with that name. What was that about? A new methodology? a new technique?
Mob Programming is the fact that a group of programmers sit all together, preferably in a room, with only one computer, with only one piece of code. All the group can discuss, can design, can program a piece of code of the project. Therefore, everybody is completely focused in solving the same problem. Something like pair programming but with more than two people involved.
One first impression might be that it is one of the most inefficient ways of work. All the team working in the same task, wasting their times in only one thing while they could be working in different tasks (as usual). But, on the contrary, it's a very useful and efficient (in long term) way of work. Used with moderation, of course.
In my days in Papa Pear we used to use this thing but we called it PapaDojo (Papa for Papa Pear, and Dojo because of the Coding Dojos). We used to do it once a week, the whole developers team in a meeting room, one computer and only one problem to discuss. A few days in advance we picked one topic, one person prepared it, notify to the rest of the team so the people interested could decide to attend or not and prepare the topic.
And, why was this very interesting? Our idea was to, once a week, all the team shared the code and the technologies to use. The aims were multiple: reach share knowledge of the tasks being implemented, being able to know other technologies or languages you don't deal with in your daily basis (IoC, C++, Action Script, Unit Testing, ...), face all together an important refactor to do, ... And in a long term the benefits are multiple, as well: the team may have a knowledge (in deep or superficial) of all the project (not only the parts each one is working on), all the technologies and languages used in the project (easing the cross-development of features), face a refactor/improvement of code that for only one person can be huge,... and, of course, team building.
Don't think Mob Programming is inefficient, in long term will provide you lot of benefits for the team and the project.
Mob Programming is the fact that a group of programmers sit all together, preferably in a room, with only one computer, with only one piece of code. All the group can discuss, can design, can program a piece of code of the project. Therefore, everybody is completely focused in solving the same problem. Something like pair programming but with more than two people involved.
One first impression might be that it is one of the most inefficient ways of work. All the team working in the same task, wasting their times in only one thing while they could be working in different tasks (as usual). But, on the contrary, it's a very useful and efficient (in long term) way of work. Used with moderation, of course.
In my days in Papa Pear we used to use this thing but we called it PapaDojo (Papa for Papa Pear, and Dojo because of the Coding Dojos). We used to do it once a week, the whole developers team in a meeting room, one computer and only one problem to discuss. A few days in advance we picked one topic, one person prepared it, notify to the rest of the team so the people interested could decide to attend or not and prepare the topic.
And, why was this very interesting? Our idea was to, once a week, all the team shared the code and the technologies to use. The aims were multiple: reach share knowledge of the tasks being implemented, being able to know other technologies or languages you don't deal with in your daily basis (IoC, C++, Action Script, Unit Testing, ...), face all together an important refactor to do, ... And in a long term the benefits are multiple, as well: the team may have a knowledge (in deep or superficial) of all the project (not only the parts each one is working on), all the technologies and languages used in the project (easing the cross-development of features), face a refactor/improvement of code that for only one person can be huge,... and, of course, team building.
Don't think Mob Programming is inefficient, in long term will provide you lot of benefits for the team and the project.