liveBook · Manning

Community smell

As explained in The Creative Programmer

A recurring social or organizational dysfunction in a software-development community that impairs collaboration, communication, or software outcomes.

A community smell is a recurring social anti-pattern in a development community: a problem in how people coordinate, communicate, learn, or share responsibility that weakens creative work and software quality. Like a code smell, it gives a memorable name to a problem worth noticing rather than silently working around. section 3.4.2 section 3.4.3

Social debt can matter more than a local code inconvenience because distrust, missing coordination, isolation, or overloaded communication can spread through a team. Naming the pattern makes a vague frustration discussable: is the trouble really a lone decision-maker, a gap between development and operations, or an assumption that a changed organization needs less coordination? section 3.4.2 section 3.4.3

Common community smells include:

  • Time Warp: organizational change leads people to underestimate communication and coordination, leaving problems unresolved and lowering quality. section 3.4.3
  • Cognitive Distance and Power Distance: perceived separation or hierarchy undermines trust and knowledge sharing. section 3.4.3
  • Newbie Free-Riding and Lone Wolf: newcomers lack support, or an individual commits without considering others’ views. section 3.4.3
  • Cookbook Development and Unlearning: established habits or resistance to new technology block adaptation and learning. section 3.4.3
  • Black Cloud and Informality Excess: unmanaged information overload or absent protocol reduces accountability and loses ideas. section 3.4.3

Treat responsibility as shared

When distrust, disengagement, or a development–operations split appears, avoid turning accountability into individual blame. Shared responsibility means facing the problem together and acting on it. Pair programming can help when pairs rotate: it counters isolated decision-making, unsupported newcomers, resistance to learning, and rigid habits while creating collective learning and two sets of eyes on code. section 3.4.4 section 3.4.4

The labels are prompts for investigation, not verdicts about people. Pause when a team problem repeats: which interaction pattern is producing it, what evidence supports that diagnosis, and what small change in coordination or learning could test an alternative? section 3.4.3 section 3.4.4

How The Creative Programmer covers it

How deep it goes
Defines community smells, catalogs their causes and effects, and offers shared responsibility and pair programming as mitigations.
Examples
Lists Time Warp, Cognitive Distance, Lone Wolf, DevOps Clash, Black Cloud, and other practitioner-identified smells.
What it assumes
Introduces the idea through the familiar analogy of technical debt and code smells without requiring a specific technology.
What you can do after
Apply it to recognize recurring collaboration failures and select shared-responsibility or rotating-pair responses.
How it connects
Connects social debt with technical debt, code smells, shared responsibility, pair programming, trust, and software quality.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of The Creative Programmer. The section links point to the parts of the book it draws on.