I've just implemented Mob Programming, or Mobbing, in my team. It's a big change for everyone involved, but I think it has the potential for delivering real value to the team, and the business.
The Solo vs. Mob Paradox
When it comes to mobbing, the idea is group learning. It's exactly the same as working solo - but with people to bounce ideas off.
I don't know about you, but when I'm working solo 99% of the code I write is utter garbage that doesn't work (maybe that's just me, I dunno) - but it's progress.
I'm faced with a problem/bug, I have an idea, I try it, it doesn't work. Iterate, iterate, iterate. Fixed.
Problem → idea → try → repeat.
The Analysis Paralysis Problem
I've noticed in our mobbing sessions we seem to be fixated on getting to a solution before trying it. Talking around an issue rather than jumping in.
People are sitting on the calls quietly, not suggesting ideas, partially (I think) because they're worried it's wrong or won't solve the problem.
Here's the thing: it probably won't! And that's completely ok.
Why Wrong Ideas Are Actually Right
The great thing about trying a lot of different ideas, is that every "wrong" one is a step closer to a right one. And to deeper understanding.
More importantly, when you share that "wrong" idea, you're not just helping yourself learn - you're helping the whole team learn what doesn't work, which is just as valuable.
I know it's hard. There's something vulnerable about putting an idea out there that might be completely off-base.
But I promise it will make these processes better. Even if your suggestion doesn't work, it might make someone think "oh, that reminds me of..." or "what if we tried the opposite of that?"
Your "wrong" idea might spark the right one in someone else.
A Personal Example of Getting It Wrong
Here's a personal example - the other week one of my devs called me to help her debug something.
I spent 15 minutes trying to understand how the hooks were affecting the rendering flow in the component.
At the end of it, I confidently said "right, pop that hook in that component and it should solve the problem."
Guess what? WRONG.
We suddenly got a bunch of empty console logs - sure, it was re-rendering thanks to the hook - but it didn't solve the problem AT ALL.
However! We learned that the logic was actually one layer deeper, in a different component I hadn't even considered. Five minutes later, She had fixed the bug.
My "wrong" idea didn't solve the problem, but it eliminated one possibility and pointed us toward where the real issue was hiding.
My Challenge To You
Next time you have an idea - even if you think it's probably wrong - share it.
Say "This might be completely off, but what if we..." The worst that happens? We learn something new and move one step closer to the solution.