Experience Report

Mob Programming for the Introverted

About this Publication

Mob Programming is a software development approach where the whole team works on the same thing, at the same time, in the same space, and at the same computer. At first glance, this would appear to be a very daunting activity for an introvert. As an introvert and Mob Programmer myself, I have discovered that it is a very enjoyable and rewarding exercise, with a few challenges that were easy to overcome.

1. INTRODUCTION

As I started writing this paper, I knew that I was an introvert, but I wasn’t completely sure I knew the theory of introversion. I decided to do some research on introversion and while exploring the topic, I kept finding more and more reasons why, theoretically, I should hate Mob Programming as an introvert [FossWest]. The odd part is that I, like many of my extroverted colleagues, love Mob Programming [Kerney]. I ended up spending a significant amount of time trying to figure out what it is about Mob Programming that is so great and why it would appeal to an introvert, like me, who should probably hate the practice!

2. BACKGROUND

I studied computer science in college with a heads down approach. I went to classes, studied, did homework, took tests and did most of it on my own. Study groups or extracurricular activities were not comfortable. Knowing what I know now about the way teams work, learning, and life in general it is apparent to me now, that this was a mistake. As an introvert it just didn’t appeal to me, but as a wiser human now, I have realized the benefits of occasionally stepping out of my comfort zone. Something I wish I had done more in college.

I spent a significant amount of my technology career in QA and Automation mostly in traditional waterfall type environments. While my satisfaction as an introvert was very high sitting in my cube most of the day with sporadic meetings, my professional satisfaction was usually extremely low. There just seemed like so much waste and disconnect in those environments. Work was getting done, but usually not at a sustainable pace, with low quality, and it all felt very clumsy.

Eventually, I was introduced to Scrum. Initially, this was very satisfying for me. There seemed to be a good balance of individual time and team time and the level of teamwork, product quality, and contribution felt better than in any previous work environments. But it felt like it could be even better.

This ultimately led me to working at my current job with Hunter Industries, where I have worked for the past four years. All work at Hunter is done as a “Mob.” It has been defined as, “the whole team works on the same thing, at the same time, in the same place, on the same computer. [Zuill]” Mob Programming can be seen as an evolution of Pair Programming, where participation goes beyond just two, to include the whole team.

As such, we typically follow a driver/navigator pattern. The driver role consists of being at the keyboard handling input and usually provides minimal navigation. The remaining team members take the role of navigators, providing direction for the driver. At times, there is a designated navigator, but any team member is still free to contribute, suggest, research, or ask questions. Roles are rotated out using a timer with times ranging from two minutes to fifteen minutes depending on the difficulty and type of work being completed. I can usually expect to spend 15-30% of my day as the driver and the remaining time as navigator offering suggestions and researching.

I knew I enjoyed the professional satisfaction I got from working within a team, so the Mob Programming environment really didn’t seem all that foreign to me. There were a few things I had to acclimate to as an introvert, but the small size of our five-person team made the transition relatively uneventful.

3. OBSERVATIONS OF MOB LIFE

Why should I hate Mob Programming as an introvert? Introverts prefer solitude. While Mob Programming on my team does embrace time to step away for breaks and to recharge, the majority of the day is spent in a group environment. The best you could hope for, as an introvert, is pair programming [Beck]. Introverts prefer their own space. In our environment we work in an open floor plan and there is no designated space reserved for a specific individual. Introverts prefer smaller group settings to larger group settings. Our team has expanded to about twenty people over a nine-month period with plans to add more. Introverts shine in one on one settings. Mob Programming is a group setting. Introverts express themselves better when writing. Most Mob interactions take place in verbal conversation. Introverts tend to avoid the limelight. At some point everyone in the Mob is the center of attention. Introverts think and then talk. Since most extroverts talk first and then think, they are usually setting the direction of the Mob, whether it is right or wrong.

I find that, as an introvert, I am very comfortable being the driver. Most introverts are not fond of being the center of attention, even in positive situations. Since I easily fall into that category, being a designated navigator is still somewhat uncomfortable for me. Often times, I can correctly diagnose a problem or spot a problem. I don’t like to blurt out answers or stomp over another person while they are talking or trying to figure something out. My initial instinct is to let the person work through it and try and figure it out on their own and reserve my comments until absolutely necessary. If I do want to share an idea or question it is usually in a quieter voice with the person sitting closest to me and not something announced in a town crier format. My preference, as a navigator, is to be doing research and contributing in support of a designated navigator. This presents a challenge, because in a world of extroverts, thinking is often mistaken for incompetence or a lack of knowledge. Furthermore, in a group work setting, an introvert can incorrectly be labeled as a social loafer or considered disengaged, when the reality is almost the exact opposite.

The issues with perceived disengagement can also become compounded when you factor in the concept of recognition. Sometimes, I do have a good idea or suggestion that will be ignored, dismissed, or overlooked unless I am extremely assertive and persistent when I present it. As an introvert, being assertive and persistent (annoying) do not come naturally. Often times the same idea will be presented by another team member and received with open arms and great fanfare. In these situations it can be very frustrating to have your contributions overlooked.

4. MOBBING AS AN INTROVERT

There are many different characteristics of introverts and extroverts. These characteristics have varying degrees of compatibility with Mob Programming. I don’t believe that any of these characteristics make Mob Programming as an introvert impossible, but some are more challenging than others.

Alone time is important: As introvert, I draw energy from introspection and thinking. Of course, this is contrary to what Mob Programming is all about. If we re-consider the definition of Mob Programming, “the whole team works on the same thing, at the same time, in the same place, on the same computer [Zuill].” Looking at the definition alone it is apparent how this could be an introvert’s worst nightmare. The great thing about my experience with Mob Programming is that working together is always optional. At any time if I feel the need to step away and recharge, I know that I can do that without consequence. Sometimes all it takes is a quick walk around the building. I’m also able to get my alone time by coming in early or programming over lunch.

I decided to test this further by keeping a log of my group time vs. personal time. It confirmed what I suspected: during the weekdays my core hours are spent in a group environment, while the mornings and lunch are usually spent as my personal time, and evenings being reserved for family time. There are deviations from that for team lunches and meet-ups in the evenings. I did notice that during the few times when there was excessive group conflict over a proposed solution or technical direction, those moments were particularly draining for me. These are the occasions where I found myself going for short walks. I’m not certain if this is the introvert in me or the harmonizer.

Large groups are draining: Large groups seem to function as a corollary to alone time. Most of my Mob Programming experience has been with a group of about five to seven people. When working with five people that I know well, the experience is very comfortable for me. When working with five strangers it is too many. Seven people whether I know them or not starts to cross into my “uncomfort” zone.

Our team encourages visits from outside observers. This usually involves some type of knowledge exchange and can be a single visitor or a whole team, we have had teams of up to six people visit our mob. A single visitor is not usually a problem for me. But those situations where we have a whole team visit us prove to be very draining for me. We once had a week where we had a steady onslaught of visitors for four out of the five weekdays and by the end of the week I was completely over-stimulated.

Time to recover and recharge: When I become over-stimulated, I recover best by going to what Professor Brian Little refers to as “restorative niches” [Lambert]. A restorative niche is a place or action that allows you to return to your true self. My restorative niche usually involves briefly leaving an environment I find over-stimulating or exhausting. In a work environment, it isn’t always feasible to physically move. In these situations, I can find a restorative niche by sitting in the back of our workspace or doing work related research on my mobile computing device. I’ll try to find something to do that requires minimal social interaction like completing expense reports or other maintenance type tasks that don’t require a mob. If all that fails, I sometimes have to resort to the nuclear option; I just shut down my communication channels. This isn’t always appropriate in a work environment either and sometimes feels a bit immature to me, leaving me with a feeling that I should just be tough and suck it up. My nuclear option isn’t something of which I’m proud and it is definitely an area for improvement for me.

Prefer one on one: Introverts prefer one on one conversations over group activities [Helgoe]. I would agree that when it comes to learning in a work environment, I do prefer pairing over Mob Programming. Furthermore, pairing with someone of an equal skill level for learning is challenging and fun for me, because we are learning together and working to figure out something and solve a problem that is new. Strong style pairing is also great for learning in a mentor protégé relationship as well. Mob Programming is also great for learning, but sometimes with varying levels of skill, there maybe be gaps for the learner. Stopping our Mob to ask a question is always encouraged and embraced. I still feel some pressure to not interrupt the flow, especially if we are on a roll. Slowing down one person to learn something doesn’t seem as intrusive as slowing down a full Mob of four or more people. Working one on one feels more natural to me, but when I think about it as it relates to work related tasks, I feel like the differences between Pairing and Mobbing are negligible, but for learning I definitely have a leaning toward Pairing over Mobbing.

Slow disclosure: Introverts take their time opening up to people, preferring what poet Stephen Dunn refers to as “slow disclosure” [Chung]. It takes me awhile to get to know people and get settled in. I spent 7th-12th grade at the same school and probably didn’t really start feeling comfortable until 11th grade. Of course, high school is a weird time anyway, coupled with the fact that I’m an introvert; it didn’t make it any easier. Five years! That’s a long time. Of course, I’ve improved, since then, but it still takes me awhile to get comfortable and open up. I am naturally drawn to the familiar, the teammates I have known the longest. Getting comfortable has been a gradual process, but I’ve slowly been finding myself more content with the size of our team and warming up to the newer members of the team.

Territorial: Introverts are territorial [Lambert2009]. This presented challenges for me as an introvert, because we work in a common area, the boundaries between personal spaces often get blurred. I would often come into work and find things piled on my desk that weren’t mine. I’m sure this happened to other members of the team, but I found it particularly annoying. I took it as a declaration from the rest of the team that my space wasn’t important and was a repository for the discarding of unwanted items.

One issue related to personal space that was addressed early in our Mob Programming lifespan was related to seating. Once you found a chair that was comfortable and adjusted for your personal taste; that was “your chair.” It was labeled or given some special marking to indicate the specific owner. This works well, because it makes it apparent to whom each chair belongs. There is no competition for the good chairs and there is very little re-adjusting of chairs because someone else had sat in your chair and adjusted the settings.

As new members have joined the team, this concept has been introduced to them and everyone appears to have adapted. One area that has room for improvement is physical space. Everyone has individual space, but that space is frequently violated as I mentioned earlier. Additionally, team members have specific areas, in which they tend to congregate or park, these spaces are not defined or specified for specific people, but there are some unwritten rules, that if someone has their usual space it is sort of their space.

As we have added new members this has not been communicated and existing team members who once had specific areas where they parked have now had to relocate due to new members inadvertently taking those spaces. We recently moved to a new building where each employee has a locker, but there is no designated desk space for specific people. We have five mobbing stations and fifteen public workstations that are available for individual use or pairing. The new space has considerably more room for the team to spread out and there seems to be less contention over formally or informally defined personal spaces.

Prefer solo work to group work: While, I do get satisfaction working alone, I find it much more rewarding working with the group, which may not be typical for an introvert. I believe that it works for introverts because they thrive on the familiar. A smaller group of people with whom I have established strong relationships would be my first choice for a team. A large group of people I don’t know would be my last choice. I sometimes try to imagine what a party would be like if there were 30 people that were my closest friends that I knew very well. I don’t think I would enjoy it as much as an engagement with a smaller number of people. I would probably feel uncomfortable, maybe even a little guilty, with the fact that I wouldn’t have enough time to have solid conversations with all the attendees. As long as I have some familiarity with the team members and the team size isn’t overwhelming, group work still appeals to my introvert sensibilities.

Don’t enjoy being the center of attention: Introverts do not enjoy nor draw energy from being the center of attention. As a Mob Programmer, at some point, you will either be driving at the keyboard or navigating the driver at the keyboard; both roles having a share of the center of attention. Navigating takes a greater share of the center of attention, and the role I find most intimidating as an introvert.

Navigating is more than just being comfortable in front of a group though. It’s about being comfortable and knowledgeable on the topic being discussed or navigated. Introverts are typically not the best at thinking on their feet. Navigating is almost all about thinking on your feet, especially if the subject matter and direction is completely new. Being able to competently articulate direction and concepts to a group of people is much more taxing than being in front of a keyboard following someone else’s direction.

Of course, the more people in the Mob, the more intimidating the task of navigating is for me. I have attempted to improve on this by putting myself in more center of attention situations. I’ve started attending Toastmasters meetings to get better at public speaking. I’ve also tried to be more outgoing and engaging at conferences and meet-ups. I have also been trying to facilitate sessions at conferences when possible.

Think carefully before speaking: Introverts think before they speak, sometimes they think a really long time and sometimes they decide not to speak at all. I have difficulty thinking on my feet or under pressure; I would rather go through something in my mind a few times. I am one of those people who think of a snappy comeback five minutes after the conversation is over, or sometimes even five days. In a Mob Programming culture this can be problematic. Competence is often graded on verbal actions. A silent introvert is sometimes incorrectly perceived as being disengaged, when, in actuality, they are heavily engaged inside their own mind, soaking up what has been said and analyzing it [Lange]. Sometimes, while mobbing, I am engaged and thinking about what’s going on, but waiting for a turn to speak. Sometimes, that turn to speak never happens. Someone else may end up verbalizing the same thought I had, or the moment to speak passes. A pause to think can also be seen as an opportunity to interrupt, especially by an overzealous extrovert.

One of the most frustrating things for me as an introvert is being interrupted. Occasionally, I will pause to collect my thoughts before I am finished talking, and this is often mistaken for the completion of my statement. I have learned that sometimes when I am interrupted, I just have to keep talking or increase my volume to let my teammates know that I’m still expressing a thought. This isn’t limited to just Mob Programming situations, but can happen in any environment. My teammates have told me that the look of disappointment on my face is a non-verbal cue that they have picked up on and has made them more aware of when they interrupt. This is also a testament to team environments. The more closely you work with a group of people, the better you get know your teammates, and the easier it is to pick up on the subtle nuances of personality and personal likes and dislikes. Being aware of what’s going on with your teammates makes it easier to work together.

Become absorbed in thoughts and ideas: Becoming absorbed in my own thoughts and ideas can be challenging as an introvert in a Mob Programming environment. I’ll see or hear something as the team is working and I’ll latch on to it. I’ll get lost in my own thoughts only to realize that 15 minutes have gone by and I have temporarily lost focus on the task at hand. I know introverts get comfort and recharge best in their own thoughts, while extroverts get that from more social interaction [Burruss]. While some might be able to stay engaged with a side conversation, especially with other people to help guide the conversation, I think it might be more difficult for an introvert that may be more comfortable in their own mind. Anyone can get distracted while Mob Programming, extroverts prefer to do it out loud with another person, and introverts prefer to do it in their mind alone.

Choose where to sit carefully: Introverts have been known to pick out seats close to the exit, so they can bail out when they’ve had too much or need a reprieve. Also, introverts prefer to sit on the outskirts or edge of a group [Myles]. This isn’t too much of an issue in our mob. Each member of the mob has his or her own chair and has some type of indicator to let everyone know who the owner is. If you move, you take your chair with you and for the most part can pick where you want to sit or stand. We do occasionally have update meetings in our workspace that bring in a large number of people. In those situations it can be a bit cramped and I will try to find my way to a spot on the perimeter.

Small talk can feel intrusive: I am not big on small talk, so when someone asks me how my day was, I usually just suspect they are an extrovert setting me up so they can segue into telling me about how their day was. This is something that is not limited to Mob Programming environments. In reality, this isn’t much of an issue during Mob Programming, since we are usually focused on a task at hand.

Sensitive to negative energy: I am sensitive to negative energy [Keighin]. Like any workplace or any relationship, people do occasionally have disagreements. If these disagreements become too long winded, I usually become disinterested very quickly. When it comes to disagreements over solutions, I would rather just move forward than have a long discussion about how we should move forward. In these situations, I usually just step away for a few minutes, maybe go for a quick walk, and by the time I return a course of action has been decided and we’re moving forward again. Because our team operates with the guidelines of treating each other with kindness, consideration, and respect, a disagreement here and there is relatively uneventful and stepping away when you need a break is acceptable and encouraged.

5. CHANGE AND GROWTH

I started working at Hunter around May 2012. For my first three years at Hunter, I was very comfortable with our cozy little mob of five people. From May 2015 until December 2015 our mob grew from a size of five to twenty and this presented challenges for me. Adding one or two people over a year would have been preferable to me as an introvert, but Hunter had major business goals that needed to be accomplished and still do, and the team needed to grow fast to accommodate that growth and meet business needs.

Trying to get comfortable with so many new people so quickly makes me miserable. I do find myself gravitating toward my original team members, there is a certain warmth that comes with familiarity, that I think may appeal more to an introvert than extrovert. In one of our early retrospectives after the team had doubled in size to about ten after we absorbed another team within the company, some of the extroverts observed that cliques appeared to be forming around the old teams, when we would self-organize to do work. It was a valid point, and I suspect that as an introvert it felt natural to me to self-organize that way, allowing me to overlook that it could be harmful to the integration of members to the team. Any group or social circle to which I have belonged always added new members to the group at some point. This has always bothered me in a very mild way. I would prefer to keep the same group just as it was when I joined. I realized long ago that this was silly and selfish, because what group or team can survive without bringing in new blood? Furthermore, if everyone held the view I did, I wouldn’t ever be allowed to join a new group, club, or social circle. I have found that since the team has been growing I have withdrawn to some degree, perhaps as a mechanism for coping with the increased stimulation. Some of my co-workers have noticed this change in me, as well.

Since I joined the Hunter Mob our team has been tasked with a couple of new projects. This means that our team has been growing and will continue to grow. This has caused a few changes to our team and the way we work. As an introvert I don’t get very excited about the idea of adding more people to anything. Our cozy little team of five has almost tripled and most of the original members have been split out among different teams. I still see the team members I had bonded with and worked with so closely for 3 years, but now the interaction on some days is just limited to a quick hello at the water cooler during the day.

Initially, when we started running with three mobs at the same time, there were issues with people hopping from team to team. This left me torn. The introvert in me wanted to be on a dedicated team working with the same core group of people every day. But the learner in me who has seen the benefits of promiscuous pairing and group thinking, liked the idea of cross pollination from bumble bee team members. We eventually retrospected as a group and came to the conclusion that the primary reason for people drifting from team to team was due to an unfounded fear of missing something. We initially over-corrected for this by not allowing team members to change between mobs, which presented a different set of challenges. This problem ended up solving itself, as we naturally fell into a comfortable team composition that allowed for flexibility and adjustment as needed.

6. WHAT I HAVE LEARNED

I have been a Mob Programmer for almost four years now. Given the choice, I would not work any other way. Mob Programming makes me a better developer, a better tester, a better leader, and a better person. I’m not exactly sure what it is about Mob Programming that appeals to me as an introvert, but I have an idea. Introverts value close friendships and are fiercely loyal, I think that’s what has drawn me to Mob Programming.

Woody Zuill brought me on at Hunter Industries because we had worked well together in the past. I consider Woody, a friend and mentor. That friendship served as my foundation in a new environment. Woody has since moved on and I have slowly been getting to know the newer members of the Hunter Mob. One team may be better or worse than another team, but that is subjective; each team is different. As Richard Dalton said, “Teams are immutable. Every time someone leaves, or joins, you have a new team, not a changed team. [Dalton]” I believe I am working toward building close friendships with the newest Mobbers, as well. They might agree. I believe these friendships are the biggest factor that attracts me to Mob Programming. There are many great things about Mob Programming, but I believe that the friendships I have developed are the most important.

Just writing this paper, I have learned quite a bit about introverts and extroverts. I’ve learned that sometimes what appears to me as a loud, over the top extrovert, can sometimes just be a team member who is really excited or passionate about the current work we are doing.

My advice to an introverted Mob Programmer would be to just be you and be open to giving and receiving feedback. If you have a concern, let people know. Not everyone may be aware of the nuances of introverts and extroverts. Sharing your concerns, articles, and blogs about how introverts and extroverts complement each other and co-exist in a work environment can be helpful to everyone on the team. If you’re an introvert that is new to Mob Programming be prepared to take some time to get comfortable just like you have done for all the other new environments and situations you have entered in your entire life. If you’re an extrovert that’s new to a team, have an open mind and consider that the one person who you think is unfriendly and cold could just be an introvert that hasn’t opened up yet. I actually think it is the extroverts on a team that initially make the transition for introverts to a new environment easier.

7. ACKNOWLEDGEMENTS

I want to thank Woody Zuill, Chris Lucian, Dexter Baga, and Jason Kerney for their roles as mentors, Mob Programmers, technologists, and friends. I would like to thank the entire Hunter Mob, especially the new people (it’s not you, it’s me ). Thanks to Hunter Industries for creating an awesome environment where great things are allowed to happen. My family, Tina, Skylar, Alyssa, and Lauryn have been very encouraging and supportive and for that I am grateful. I also want to express gratitude to my mom who has supported me as long as I can remember. Finally, many thanks to Rebecca Wirfs-Brock for asking me to write this document, providing great insight and feedback, and for recognizing the things that were important to me that I didn’t even realize were important to me.

REFERENCES

[FossWest] Fosslien, Liz and West, Mollie, An Illustrated Guide to Introverts in a Startup, http://www.quietrev.com/an-illustrated-guide-to-introverts-in-a-start-up/

[Kerney] Kerney, Jason, “Mob Programming – My first team” Agile 2015 Conference, Washington D.C. https://www.agilealliance.org/wp-content/uploads/2015/12/Mob_Programming_-_My_first_team.pdf

[Beck] Beck, Kent “Extreme Programming Explained: Embrace Change” Addison-Wesley; 2nd edition

[Zuill] Zuill, Woody, “Mob Programming – A Whole Team Approach” Agile 2014 Conference, Orlando, Florida https://www.agilealliance.org/wp-content/uploads/2015/12/ExperienceReport.2014.Zuill_.pdf

[Lambert] Lambert, Craig, “Introversion Unbound,” The Harvard Magazine, July-August 2003, http://harvardmagazine.com/2003/07/introversion-unbound.html

[Chung] Chung, Michaela, blog post “The Thing About Introverts that Most Extraverts Don’t Understand” http://introvertspring.com/thing-introverts-extroverts-cant-understand/

[Helgoe] Helgoe, Laurie, “Revenge of the Introvert,” Psychology Today, September 1, 2010, https://www.psychologytoday.com/articles/201008/revenge-the-introvert

[Lambert2009] Lambert, Lee Ann, blog post “Introverts: Territoriality and Personal Space,” https://web.archive.org/web/20100105050659/http://livingintroverted.com/blog3/2009/02/16/introverts-territoriality-and-personal-space/

[Lange] Lange, Andrew, “Recovery for Introverts”, Huffington Post, November 17, 2011, http://www.huffingtonpost.com/dr-andrew-lange/recovery-for-introverts_b_349907.html

[Burrus] Burruss, Jill D. and Lisa Kaenzig, “Introversion: The Often Forgotten Factor Impacting the Gifted,” Virginia Association for the Gifted Newsletter, 1999 Fall 21(1), http://sengifted.org/archives/articles/introversion-the-often-forgotten-factor-impacting-the-gifted

[Myles] Myles, Alex, “Learning to Understand & Accept Ourselves: 15 Characteristics of an Introvert,” Elephant Journal, December 29, 2014, http://www.elephantjournal.com/2014/12/learning-to-understand-accept-ourselves-15-characteristics-of-an-introvert/

[Keighin] Keighin, Melissa and Kelsey Butcher and Michael Darnell, “The Effect of Introversion and Extraversion on the Fear of Negative Evaluation,” Undergraduate Research Journal for the Human Sciences, Volume 8 – 2009, https://www.kon.org/urc/v8/keighin.html

Add to Bookmarks Remove Bookmark
Add to Bookmarks Remove from Bookmarks
Add to Bookmarks Remove from Bookmarks
Agile2016, Experience Report

Your Bookmarks

No favorites to display. You must have cookies enabled to add bookmarks.

Have a comment? Join the conversation

Related Agile Experience Reports

Mob-Programming is a programming technique which involves all team members in collective coding sessions. After experimenting with four teams working in different contexts and application domains, we have reached several key takeaways and results. Wh…

Discover the many benefits of membership

Your membership enables Agile Alliance to offer a wealth of first-rate resources, present renowned international events, support global community groups, and more — all geared toward helping Agile practitioners reach their full potential and deliver innovative, Agile solutions.

Not yet a member? Sign up now