Exactly. There is a goal to be achieved - building some feature, say - and we need to find the best way to achieve that goal with the people on hand.
If forcing all communication to be done in public makes the goal harder to achieve, then ffs do something else. Don't just force people to be inefficient because of some dogma.
The goal is not "make all communication public". The goal is to get the job done.
> The goal is not "make all communication public". The goal is to get the job done.
Just adding that "get the job done" shouldn't be confused with personal productivity. Many younger/inexperienced devs that are highly motivated go through a phase (some get stuck here) that optimizes their personal productivity above the team's productivity. You end up with pockets of people that share knowledge (or hoard knowledge) with others left behind. You also end up with different subsets of people making different decisions, younger devs clinging to each other for feedback/guidance (yikes), and way more thrash that needed.
Closed channels for teams are good but not everything is a democracy. I let my team make decisions but I can veto any of them, if needed.