Cognitive Load Theory: Does it apply in software delivery?

Sorrel Harriet, PhD
5 min readJul 25, 2024

--

Cognitive Load Theory (CLT) has been cropping up a lot lately in software engineering leadership circles and is a central concept underlying the successful implementation of Team Topologies [1]. It’s not just the authors of Team Topologies extolling its benefits though— there are plenty of examples from practitioners who’ve applied it and found it helpful.

But what is it really about? Should we be applying it in software engineering?

Overview of Cognitive Load Theory

CLT gives us a mental model for thinking about the kind of work the brain has to do when we’re learning. It considers the way information is presented relative to the way we process and store it.

John Sweller [2], a learning theorist, devised this model in the 80s with the aim of helping educators improve the effectiveness of their instructional design. The goal when applying CLT is to reduce the amount of brain energy wasted on tasks that don’t contribute to learning.

It is based on empirical research, though Sweller’s original experiments were conducted under quite specific and controlled conditions so the results couldn’t be called generalisable. For example, he might look at something like how the wording of a mathematical problem might impact students’ ability to solve it.

In the model, Sweller characterises 3 types of cognitive process: extraneous, intrinsic and germaine.

  • Intrinsic cognitive load refers to the fundamental effort required to solve the problem;
  • Germaine is the effort required to form new schemas;
  • Extraneous is effort spent on stuff other than solving the problem.

Sweller’s model assumes our capacity for learning is restricted by the limits of working memory. He posited that the total cognitive demand a task places on a student is some combination of these 3 types of cognitive process, and therefore it’s possible, through careful instructional design, to reduce the extraneous cognitive load, which we might think of as ‘cognitive waste’, and free up resources for more creative thinking work.

Because this theory has been found to work rather well in practice, it’s been used a lot. Not just in general education settings, but in healthcare education [3] and business too.

Weaknesses in relation to software delivery

There are some well documented limitations to Cognitive Load Theory and its application outside of the context of instructional design (for examples, see [4–7].) I want to draw attention to two in particular which I believe are most relevant in the agile delivery context.

1. There is no evidence the three types of cognitive process are additive

Firstly, there is no standardised way to measure cognitive load, and because we can’t measure it, we have no real evidence that the three types of cognitive process are additive. This makes some of the information about CLT that is presented in the agile arena seem somewhat disingenuous. We therefore need to be careful in our communications.

2. Agile software teams don’t typically learn through instruction

Sweller’s theory is based on a model of learning that is at odds with how most agile teams learn. By that I mean it is founded on an instruction-based model of learning, not an experiential model (i.e. learning by doing). Moreover, Sweller himself acknowledges the incompatibility of CLT with more open-ended or minimally guided problem-based learning [8]. That makes the direct mapping of cognitive load management techniques applied in instructional design to the agile delivery context a little bit challenging — not impossible, but it certainly warrants caution and consideration.

Strengths and universal applicability

None of this means it can’t still be useful to think about different kinds of mental processes involved in the work we do, and to recognise there are limits to human cognition.

What we’re effectively doing when we apply the lens of cognitive load theory in the business context is to optimise the environment for learning.

Therefore, efforts to manage cognitive load in software teams typically ask questions related to developer experience (for examples see [9–10].) Questions like,

  • How do people experience the work that they do?
  • How competent do they feel in the tasks they undertake?
  • How familiar are they with relevant policies and procedures?
  • How well do they understand the context behind the work they’re doing?
  • How easily are they able to access meaningful feedback?

And so on.

These are all questions we can associate with the overarching goal of optimising the system for learning. Whether we use CLT as our justification for this, or whether we refer to other sources of empirical knowledge, is really a matter of preference.

Conclusion

Optimising for learning by seeking to reduce the mental effort spent on activities that don’t generate value is, in my view, where the overlap between Sweller’s CLT and its application in teams ends. How a teacher designs a maths assessment or how an e-learning designer organises information in an online course may be guided by very different heuristics to the ones adopted by an engineering manager seeking to improve delivery efficiency, though there may be opportunities for overlap (for example, in the application of user-centred design principles.)

What I find most compelling is the universal wisdom underlying Sweller’s CLT and Team Topologies which tells us that, to enable individuals and teams to do their best work, we must strive to remove unnecessary barriers to learning. This means giving our attention to the mechanisms by which people learn and the conditions in which they are operating. How we do that in practice is really ours to explore, whether through CLT or other guiding principles.

Takeaways

  • Cognitive load theory gave us a mental model for instructional design, and it’s one that has been revised and updated by learning theorists since its original conception.
  • Mental models can have useful applications, even where the science behind them is wanting (as it often is, given the nature of science.)
  • It’s fine to transfer knowledge to new contexts — just be transparent about it and acknowledge relevant limitations.
  • To improve team performance, seek to optimise the environment for learning by whatever means work best in your context.

Sources

[1] Pais, M. and Skelton, M. (2018) Team Topologies. IT Revolution.

[2] Sweller, J. (1994) Cognitive Load Theory, Learning Difficulty, and Instructional Design. Learning and Instruction. 4(4):295–312.

[3] van Merriënboer JJ, Sweller J. Cognitive load theory in health professional education: design principles and strategies. Med Educ. 44(1):85–93.

[4] Gerjets, P., Scheiter, K. and Cierniak G. (2009) The Scientific Value of Cognitive Load Theory: A Research Agenda Based on the Structuralist View of Theories. Educational Psychology Review. 21(1):43–54

[5] Martin, S. (2017). A Critical Analysis of the Theoretical Construction And Empirical Measurement Of Cognitive Load. Routledge

[6] de Jong, T. (2010) Cognitive load theory, educational research, and instructional design: some food for thought. Instructional Science. 38:105–134

[7] Derry, J. (2020) A Problem for Cognitive Load Theory — the Distinctively Human Life-form. Journal of Philosophy of Education.

[8] Sweller, J., Kirschner, P. and Clark, R.E. (2007) Why Minimally Guided Teaching Techniques Do Not Work: A Reply to Commentaries. Educational Psychologist 42(2):115–121

[9] Skelton, M. (2018) Team Cognitive Load Assessment. GitHub.

[10] Teamperature (2024) Managing Cognitive Load for Healthier Teams. Teamperature.com

--

--

Sorrel Harriet, PhD
Sorrel Harriet, PhD

Written by Sorrel Harriet, PhD

Independent Learning Consultant with a focus on supporting software engineering teams to achieve high performance through continuous learning.

Responses (2)