Agile coach and trainer Mishkin Berteig recently wrote a blog article called "The Seven Core Practices of Agile Work" where he highlighted the importance of effective ("powerful") communication. I agree. In my experience, effective communication is often the most important factor in project success. However, my views about the nature of effective communication are different. Berteig wrote:
To Communicate Powerfully, a team needs to prefer in-person communication over distributed communication. Synchronous over asynchronous communication. High-bandwidth over low-bandwidth communication. Multi-mode communication over single-mode communication.
— Mishkin Berteig
These suggestions sound agile on the surface, but it could also be just a different variation of the "process over individuals" perspective. For example, the suggestions doesn’t consider the vastly different ways that various groups of individuals interact. Why not just prefer "effective communication" for a specific team and context without requiring a priori preferences about how that communication will be implemented? In my experience, a combination of communication styles and strategies including a mix of both face-to-face, synchronous communication and distributed, asynchronous communication have generally been the most effective. I believe it’s a false dichotomy, but if a team must choose between one extreme of always having distributed, asynchronous communication or always communicating face-to-face, then I would prefer the latter. I also believe it would probably not be the most effective way to communicate compared to a combination of the two styles, where the balance is tailored to a specific team’s personality, preferences, and other contextual aspects. Of course, in some contexts the balance might be close to one extreme or the other.
It may appear to be more difficult to discover the proper combination of communication styles than to accept predefined communication preferences. However, I’m confident that if a team wants effective communication and they use techniques like retrospectives to fine tune their behavior based on experience, they will succeed in finding what works best for them and become increasingly skilled at adjusting those approaches as project context changes. This feedback and adaptation is a key aspect of agile team behavior.