Communication is the exchange of ideas, intentions, and knowledge between people. In software work, it is more than sending updates: it helps teams coordinate, share feedback, question assumptions, and turn individual ideas into work others can understand. When communication breaks down, even imaginative projects can stall. section 3.4 section 3.5
A useful question is not simply “Who is right?” but “What does the other person mean, and why?” When someone says a solution cannot be built, immediately disproving them can create conflict. First uncover prior attempts, local constraints, stack preferences, or borrowed assumptions; then clear up misconceptions together. Pair programming can help replace quick judgments with shared insight. section 5.4.8 section 5.4.8
Communication failures can be recognized as community smells—memorable names for recurring team problems:
- Time Warp: organizational change creates the false belief that coordination will take little time, leaving problems unresolved. section 3.4.3
- Cognitive Distance: physical, technical, or social distance produces distrust, misinterpretation, and wasted time. section 3.4.3
- Power Distance: perceived hierarchy prevents people from sharing knowledge. section 3.4.3
- DevOps Clash: strict separation between development and operations fosters cultural conflict and weak trust. section 3.4.3
- Black Cloud: unmanaged information overload causes valuable ideas to be lost. section 3.4.3
Naming a smell does not automatically diagnose a team, but it gives people a less personal way to discuss a difficult pattern. Look for whether ideas are stagnating, racing past one another, or spreading effectively. Welcome genuine critical feedback rather than agreement for its own sake, and seek perspectives beyond the group’s usual interests. section 3.4.3 section 3.5
Making an idea understandable
Suppose a programmer proposes an unusual design and receives criticism. The response is not only a test of technical correctness: others’ evaluation affects whether the work is recognized and adopted. If nobody understands the code, simplifying it may be more productive than demanding acceptance. Communication therefore connects creative work to its audience. section 5.6






