Cognitive load is a measure of how much mental effort is required for a task. It’s usually thought of as the amount of information you have to process at any given moment. For example, if you’re trying to solve a math problem, you have to hold in mind that 2+2=4, you need to know what 2 and 4 are, and you need to know how to add numbers together. That’s three separate things that your brain needs to remember at the same time.
Cognitive load can also be measured by asking people about how much effort they think they’ll need for a given task. If someone thinks that doing something will take a lot of cognitive effort, then it probably will.
When we talk about cognitive load, it’s easy to understand that any one person has a limit on how much information they can hold in their brains at any given moment. The same happens for any one team by simply adding up all the team members’ cognitive capacities. However, we rarely take into account cognitive load when assigning responsibilities or software parts to a given team. Perhaps because it’s difficult to quantify both the available capacity and what the cognitive load will be. Or perhaps this is because teams are expected to adapt to changes in their tasks, with no questions asked. When cognitive load is not considered, teams spread themselves thin by trying to cover a lot of responsibilities and areas. Such teams lack the bandwidth to pursue mastery of their trade and struggle with high context switching costs.
Reference
- Team Topologies: Organizing Business and Technology Teams for Fast Flow by Manuel Pais and Matthew Skelton