Todd Sedano

Software Engineering, Improv, Craft of Software Development

Knowledge Loss

The cost of re-acquiring information that the team once knew.

A team can lose knowledge when a person with unique knowledge leaves the team or organization, when an artifact containing unique knowledge is lost, or when people forget what they once knew. Regardless of how the knowledge was lost, the cost of re-acquiring it is a kind of waste.

We observed the following causes of “knowledge loss” waste:

  • Team churn (that is, staff rotating on and off a team)

  • Knowledge silos (that is, where important information is sequestered within one group or system)

We observed the following tension in relation to this waste: sharing through interaction vs. documenting. There are two broad approaches to preserving knowledge and preventing its loss: documentation and interpersonal interaction. One of the key insights of the agile literature is that sharing knowledge face-to-face is usually more effective than sharing knowledge through written documents. Indeed, documentation often quickly becomes outdated and unreliable.

In Sedano et al. (2016), we propose several practices for encouraging knowledge sharing and continuity including continuous pair programming, overlapping pair rotation, and knowledge pollination (e.g. stand-up meetings). although we have not observed it directly, code review may also help knowledge sharing and prevent knowledge loss.

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