Todd Sedano

Software Engineering, Improv, Craft of Software Development

Ineffective Communication

The cost of incomplete, incorrect, misleading, inefficient, or absent communication among project stakeholders.

Ineffective communication is intrinsically wasteful. For example, suppose a product manager notices a bug and adds it to the backlog, but does not explain how to reproduce it. The team ends up sleuthing—-either experimenting with different possible combinations or asking the product manager for additional details. As another example, suppose a developer changes key configuration information that affects all other developers on the team. Instead of telling everyone that they need to pull the latest code, the developer posts about the change via asynchronous communication (e.g. Slack). Some developers do not see this communication and wonder why their code stops working. They waste time trying to figure out the solution when the answer was already known to the team.

Ineffective might lead to the other kinds of waste. For instance, ineffective communication resulting in delays might lead to the waiting waste. Ineffective communication resulting in misunderstanding user or business needs might lead to building the wrong feature or product, or misunderstanding the existing solution might lead to building an overly complex solution and extraneous cognitive load. Ineffective communication resulting in poor decision-making might lead to mismanaging the backlog. Ineffective communication resulting in technical mistakes might lead to defects and rework. Ineffective communication resulting in misunderstandings among team members might lead to conflicts and psychological distress. These are just a few examples highlighting the importance of effective communication and how poor communication have the potential of generating waste.

We observed the following causes of “ineffective communication” waste:

  • Team size is too large.

  • Asynchronous communication, which is especially problematic for distributed teams, distributed stakeholders and in situations where there are dependencies between teams or opaque processes outside the team.

  • Imbalance. This happens when one person is dominating the conversation or is not listening.

  • Inefficient meetings. This includes lack of focus during meetings, skipping retros, not discussing blockers each day, meetings running over (e.g. long stand-ups).

Like stress, copious research has investigated communication effectiveness, and a complete account is beyond the scope of this chapter. However, we can make some simple recommendations:

  • Synchronous (especially face-to-face) communication seems more effective for most people, most of the time.

  • Conversational turn-taking, where participants take turns speaking one at a time, leads to better shared understanding.

  • More powerful participants (e.g. white male project manager) interrupting less powerful participants (e.g. non-white female junior developer) has a chilling effect on diversity of thought and quality of group decision-making. Other participants can mitigate interruptions by returning to the interrupted speaker by, for example, saying “Can we come back to what Alexis was saying about…”

For more details, read this ICSE paper or return to the list software development wastes