Collective Intelligence with Mob Programming

May 8, 2016

 

2016-04-30 16.19.08

I returned on May 2nd from the first ever Mob Programming conference in Cambridge, MA.

Many people from around the world (US, England, Finland, Denmark, France, Africa, China, India) gathered to learn from Woody Zuill, Llewellyn Falco and others about a relatively new phenomenon in the IT world – that of groups interacting in the same (head) space to maximize the (coding) results while using the collective intelligence of those present.

The premise of  mob programming or ‘mobbing’ as it is sometimes called, is that people will learn together how to ’turn up the good’ in the team and in each other to the benefit their customers. The result is less time spent churning, estimating, waiting for answers, deciphering someone else’s code, fixing bugs. The greatest possible intelligence is collected into the code in a focussed and collaborative manner with the whole team (analysts, testers, programmers, and other specialists, as needed). When paired with solid tests, written first, this technique is a great way to produce high quality software that is more easily maintained. It operates more like a great team of scullers on the Charles River than a traditional IT shop.Harvard Crew

What happens in the majority of organizations that produce software is that most code writing is done by individuals using different styles at different times, at different desks, without much consultation – yet with the hope that the disparate parts will be able to be integrated.  In the status quo organization, there is not much attention paid to the ecosystem that the code ‘lives in’. Sometimes people are moved from team to team like chess pieces for short term gains.  Teams are treated as temporary constructs. The resulting software may appear cracked in places, and mis-understood, poorly formed in stressful situations.

If one developer wrote it and no one else understands it, the future ability to modify such code will be diminished. Therefore, the best way to have great code now and in the future is to put many minds at the same task, at the same time, in the same room (virtually or physically). The likelihood is higher that the best ideas from people will emerge and be used when people collaborate this way. 

2016-05-01 11.31.39I got to experience this first hand myself. I took part in a small group of coders who had to code the solution to a small problem together. Only one person ’the driver’  is allowed at the keyboard at a time and this person is not allowed to type anything other than what others in the room agree to have them type.  The screen is projected so that everyone can see.  All ideas and code must be verbally expressed and transmitted to the person in the ‘driver’s’ seat. The first time we did this, we had one designated navigator – who could direct the driver. The driver stays in the driver seat for a very short time – perhaps 5 to 15 minutes, after which the person who was driving can become a navigator and contribute again to the ideation about what to work on next, taking input from the others.  I very  much enjoyed learning and participating in this, and certainly felt there was no hesitation in people sharing their ignorance or their knowledge. Everyone learned.  In the conference setting, there were numerous opportunities to do this at beginning, intermediate, and advanced levels. The beginners used simple coding katas, and even some ‘koan’ lessons for learning to code in a new language.  Everyone had fun.

We also used simulations using other tools to teach about mobbing. One group, that I participated in briefly, produced an article for InfoQ as a mob, writing together in a very short time.  Another group used the card game ‘Set’ (which was invented by Llewelyn’s mother) to simulate a mob session for solving the puzzle.  Done in several rounds, once with a single navigator, then later with no single navigator (giving directions), it clearly shows how messy it can get -when first starting out – to have a group of people giving directions all at once.  But I observed that the time constraints work well in combination with a self-organizing team. The team learns best with trial and error how to moderate itself and inquire of each other before directing the ‘driver’ to take action.  In fact, after each change in the driver, we held a mini retrospective: each person contributed their ‘aha’, or passed.  Mobbing groups are encouraged to experiment.  Some teams are even working this way when not co-located, using video and screen sharing software.  As others have pointed out, great teams develop implicit and/or explicit protocols – you can read more about such teams here.

Whether with coding, or with non-coding simulations, the best individual performance on a challenge is almost never as good as the performance of a team of possibly less ‘able’ individuals. I took this lesson away at a wonderful simulation activity at Amplify Your Effectiveness conference in 2010. We compared the performance of individuals at estimating ten ‘Guinness Book of World Records’ to the performance of teams that worked on the same challenge together.  We observed that it is never the team with the best individual scorer that wins the team competition, even with the same 10 records repeated. 

I am quite sure that I experience both peaks and troughs in my productivity throughout the day.  I would be thrilled to be able to lean on other teammates and vice versa to ideate and produce the best possible products and deliverables.  If only managers could give up a fixation on ‘time spent’ on code, in favor of frequent delivery of valuable code for the business, I bet they would experiment with Mob Programming and find it very beneficial. And ‘valuable means too that it will be more easily maintained in the future – it won’t only be the tech lead who makes decisions and knows the history of the code’s back-alleys.  It will be collectively understood.

Finally, as you will read from Woody’s writings, and from his talks on mob programming, this technique should never be something anyone can or should mandate.  Teams should be left to choose their best way of working and be encouraged to experiment with their collective intelligence.  

I really appreciated the people who travelled from afar to talk about and practice the principles of mob programming and I would definitely attend this conference a second time.



If you need a facilitator to help you get started, please reach out to me. If you wish to read more about Mob Programming, you can read Woody’s book and Llewellyn’s books here and here and watch the time lapse of a day in the life of a team that mob programs.  On May 18th, I’ll be giving a workshop on The Core Protocols (another great team productivity enhancer) with an open discussion about mob programming at the end. These two ways of working and interacting are quite awesome for the audacious and courageous self-organizing teams.    If you are in DC, you can RSVP here. You do not have to be a woman to attend.

A last note: at the end of the conference, I offered up the idea of creating a community book about teams that are coding using the Mob Programming principles. It would involve interview questions and answers about the teams’ experiences, perhaps modeled along the lines of the Who Is Using Clean Language, Anyway? book. (That book is itself modeled after Who is Agile? book that I helped edit years ago). I would need a co-author and a couple of teams to volunteer for interviews to get started. It would evolve as a Leanpub book until we had a great cross section of teams from around the world representing different domains and challenges, perhaps 20 or 25 teams.  If you are interested, please leave me a note below or contact me via Twitter at @andreachiou

My Clean Learning Journey

February 21, 2015
cleanjourney_paper

I’ve been intensely focussed on Clean Language during 2014 and well into this year as well.  I’ve reflected on where I’ve been and what I want to do next below.  It’s a sort of open mini self-retrospective…first I’ll recap what Clean Language is, for those who don’t know.

Clean Language is a mode of inquiry and a way of coaching – from the realm of psychotherapy. Using Clean Language type of inquiry is about fostering/encouraging the ‘conditions’ for change when a client has a goal, an aspiration, or alternatively when they don’t know what they want, they may start with what they don’t want.  When I started looking into it, I was struck with its simplicity and its power, and thought about the many ways it supports other models I have been studying. I was also struck by its power as a mental model, even if it is never overtly used. In fact, there are folks teaching this to very young children with tremendously powerful outcomes.

Clean language is a question only based system, where the questions focus attention on the words and phrases and patterns of symbols (words/thoughts/constructs) used by the client/customer/interlocutor.  In it is ‘clean’ in that it removes injections of one’s own reactions, assumptions, and suggestions and keeps the focus on the person who is doing the thinking. I can think of countless business conversations in which one person is cut short, when in response another person interrupts with their own thinking (sometimes also masquerading as a challenging question).  For this reason, clean has affected 100% how I experience conversations and dialogues.

Clean Language also draws  on the power of metaphor – intuitive, subconscious knowledge. In business settings where it is used, it may not go so deep as in therapy, but the metaphors can bridge gaps in understanding in an incredibly dense, efficient way. In addition, clean questions/clean coaching can help reveal intentions, assumptions, desired outcomes, resources and so forth. It can be a powerful addition to any process, especially when taught to groups who then used among themselves. This has been demonstrated by Caitlin Walker’s adaptation of Clean Language – called Systemic Modeling.

Here are the 5 things I’ve done to engage myself in the process of learning more about Clean Language:

1.) In the hopes I might find some interested people in the software and facilitation fields,  I spent a lot of time presenting at numerous workshop during the past year including Agile2014, AgileDC, the Mid-Atlantic Facilitators Network, IIBA-DC, and the Coaching Special Interest Group of the Chesapeake Bay Organizational Development Network. I found quite a few people who found it fascinating and got some really interesting feedback each time.

2.) During the past year I worked with a Clean Language professional Sharon Small, owner of the Clean Language Institute, to produce a book compilation of interviews of people who use Clean Language professionally in some fashion. That was tremendously illuminating because we found deliberate usage in a variety of quite disparate fields, and we have not uncovered them all.  So a goal we have will be to increase the number of interviewees in the book in the coming years. The book is called ‘Who is Using Clean, Anyway?

3.) I’ve enjoyed participating in monthly Skype calls of enthusiasts from around the world in the IT/Clean Language space – where we collaboratively share our knowledge, learnings, successes, and questions.

4.) There are numerous Youtube postings, and several Facebook groups that also have kept me actively learning in the Clean Language space.

5.) I recently finished reading all the major books on Clean Language that I felt were important for a serious practitioner.  Many of these books and resources are listed right here on my blog.

Now, in the present , I am trying to imagine answers to some of these questions:

  • What would I like to have happen next?
  • How does Clean Language really affect how I listen to conversations, interact with people, understand them?
  • Do others notice?
  • Do I remember what I was like before I knew about Clean?
  • How does it (and Caitlin Walker’s Systemic Modeling) bear resemblance to other means of inquiry and rich, dense information exchange between people, such as The Core Protocols of Michele and Jim McCarthy?
  • How will I apply what I have learned more systematically down the road in work settings?
  • What inhibits me from trying?
  • Do I want to delve deeper in practice, or step back for a while?
  • Do I want to stop delivering workshops?
  • Do I want more formal in person training in Systemic Modeling? or Symbolic Modeling?
  • If I get more training, what happens next?

I don’t have all the answers, but I do have a much older wish coming true this year: I am going to go to Jerry Weinberg’s Problem Solving Leadership retreat in June. I’ve wanted to do that for some time. And Jerry’s work has been heavily influenced by Virginia Satir, who was a key influence in the development of NLP – Neuro Linguistic Programming – from which  Clean Language emerged. So I’ll be experiencing a week’s worth of immersion on a ‘cousin’ branch of Satir’s influence… and I’ve been told by many that PSL offers a lifetime’s worth of learning. I hope so.

My future learning about Clean Language is in my hands, yet to be sculpted, revealed.  I’ve imagined a few possibilities.

  • I may revive the notion of hosting a Clean Language practice group, but I’ll need to find a place to host it where folks might be willing to come.
  • I definitely will try to connect with Caitlin for Systemic Modeling training in the coming year or two.
  • I will hold open the possibility of hosting Clean Language explorations on-line, if there is interest.
  • And, what might help a whole lot will be to attend a Personal Journey Retreat given by James Lawley, Penny Tomkins – who will be offering that in the US –  West Coast – in January 2016.

Penny and James wrote the seminal book on Clean Language and Symbolic Modeling, It is called Metaphors in Mind – Transformation through Symbolic Modelling. They codified the way that David Grove used Clean Language in therapy by observing him in his therapy sessions, as David Grove didn’t want to stop his work to write! 

James and Penny also maintain the most exhaustive on-line resource involving Clean Language. It is like a museum gallery – which you can see here.  And, for those not in psychotherapy, there is still much to be gained here – articles about Clean Language used in research, business coaching, and facilitation and so forth. It will be a museum visit – and if you start reading there, after a time, you’ll ask yourself – ‘What? Is it really time to close already, where did all the time go?!’  I have much left to explore here as well.

That’s it for Past, Present, Future – at least for today. Oh – and if YOU are interested in connecting with me to practice or learn more, please do. You can find me on twitter at @andreachiou or email me at andrea.chiou@santeon.com