Teaching the Mob to students?
When Bernhard Wagner – acting teacher at ZHAW and teaching the ways of programming to students of electric engineering – asked me whether I could imagine using the Mob Programming & Test Driven Development approach to programming in a didactic setting and if I’d be willing repeat my workshop on “The MOB & TDD” for his class, I was pleasantly surprised and replied “There is nothing I’d rather do”.
Is it just about collaboration?
His concern was that individuals would be left behind unnoticed so he would not be able to help them catching up. Putting in place any kind of swarming culture would be beneficial to avoid this problem. And of course, the mob the merrier. Less knowledgeable people and introverts can profit from the team effort by developing their own skills.
But the advantage for the pros and extroverts is very valuable, too, not only for the team as such. Teaming up properly leaves space for the driving forces to learn about new ideas in areas from which fellows think they have nothing left to learn about. This is not only true for study groups. Applying these principles in professional teams is the easiest and most effective way to literally foster every single agile value.
But does it make a good case?
Suddenly a doubt rushed through my mind: Isn’t everybody already saying that ensemble programming only works in academic examples? How is this going to help? But nothing of that happened. Au contraire. The not-yet professionals came up with the same arguments as team leads normally do, but much quicker, how that would not work out out in the field as everyone would think that you lose capacity by working in groups. They were quickly to be proven wrong and be convinced. It is left to the inclined reader to look up the facts from other articles, where these overly simplistic arithmetical arguments are proven incorrect.
At the end of the day
Since the class was too large, we had to split into two groups and do the exercise twice. When the first group left the room and the second came in, one of the entering students said: “You erased the fatalistic look of indifference from their faces, what did you do?!?”. Guilty as charged.
After all was over, I asked for collecting feedback and in the end we got only positive if not effusive reactions.
What is the lesson?
After 2 generations of computer science in schools we’re still trying to teach if-else, while, algorithms and patterns, instead of putting quality driven work and collaboration first. We need to change that if we want to improve culture.
Danilo Biella, Agile & Quality Professional