In 1988, psychologist John Sweller defined cognitive load as "the amount of mental effort employed in working memory
Total". Sweller defined three different cognitive loads.
Intrinsic cognitive load, related to the basic tasks of the problem domain, e.g.: What is the structure of a Java class?
How do I create a new method?
· Additional cognitive load, related to the context of task processing, eg: how do I redeploy this component? I
How to configure this service?
Relevant cognitive load, associated with tasks that require extra attention to learning and performance aspects, such as: this
How does the service interact with the ABC service?
For example, a developer's inherent cognitive load on a web application might be the computer language used
knowledge (on top of programming), the additional cognitive load may be the detailed commands for instantiating a dynamic test environment
command, these commands exist in multiples and are difficult to remember, and the associated cognitive load may be associated with the application developer
Specific business domains, such as invoicing systems or video processing algorithms, etc. Jo Pearce on Cognitive Load in Software Development
A lot of cases are provided in the research.
In general, in order to efficiently deliver and operate modern software systems, organizations should try to minimize inherent cognitive
load, such as through training, good technology selection, recruiting the right people, pair programming, etc. same
When doing this, try to eliminate the extra cognitive load, especially those meaningless and redundant tasks and commands, which keep
Remaining in working memory has little value and can often be replaced by automated tasks. Finally, for the related cognition negative
This is where the "value-added" thinking lies.