Wednesday, March 23, 2016

Mob programming and groupthink

Back in the days of my very first agile introduction, I run into a problem. We had (junior) testers who had just joined in without a tester background working in very close collaboration with the programmers in the teams. These testers struggled to turn into testers at all, they were more of programmer groupies. It felt like they idolized the programmers (I even felt we had a group of programmer groupies amongst us), and thought their own perspectives on what might be valuable were always less valuable. If the developer argued something was by design, it stayed that way regardless of how bad it was for the users.

I thought about this experience today, as there was a discussion started on mob programming and what that does to how people work together. I feel there's a lot of benefit for me in having the self-confidence of a senior tester in being close to programmers as my ideas turn into code just as much as anyone else's, but I suspect things would have been very different if I was a junior joining similar settings and just starting to build my professional identity.

With regards to mob programming, it still seems to me that most teams mobbing are very homogenous. People with similar backgrounds and experiences. Mostly men. Definitely not having full-time non-programmers sticking around. And some of them even report that collective overconfidence, "groupthink" was an issue for them.

I find that having a diverse group can help with groupthink, as someone different naturally steps out of what the common path is perceived to be. But it also brings struggles. With the full visibility on what is going on in the mob, the group might feel that they don't recognize the value the different person brings in, even formulating that as extreme as "there was none, he just did not learn / did not do his job". I find that in retrospectives, I've been one to point out stuff I contribute on and that what I did as a non-programmer could have easily been discounted without the discussions.

It's been clear I was different. I still am different after all my mobbing experiences. I will probably never be the same as I have my route of growing into the person I am nowadays. But being different, I also tend to keep us honest. I tend to go hunt for evidence from real users. I tend to ask for metrics of use. I tend to suggest optional views, just so that we would not choose blindly.

Being different has been somewhat of a personal trouble. It has meant that I have needed to volunteer to be totally out of my comfort zone for extended periods of time, feeling totally exhausted. Believing there's a greater cause of helping build our team relations is what kept me going when it just felt like I was exposed and failing to any standard I would set for myself. I know none other in my team would have volunteered for the discomfort I volunteered for. And I suspect that not many people naturally would.

Having people like me is having outliers in the team. But it also seems to be a very effective way of avoiding groupthink when we're not all the same.

Groupthink is not special to just mobbing, but mobbing could potentially drive you to it quick. My team had groupthink already before mobbing: for 10 years, the developers and business people believed that software cannot work when it comes out of the development team. That changed quickly with the first experience of things being different.

Being different enough might be helpful. Daring to believe what you have to say in relation to what the others contribute is at least essential.