In a recent paper, Kieth & Frese describe error management training (EMT) in which trainees learn through a process of making errors and correcting them. The theoretical foundation of EMT is action theory. The idea behind action theory is that the learner already has an action-oriented mental model or part formed mental model of some sort that is useful to the task to be learned. Keith & Frese note that the more adequate the mental model the more successful the result will be.
This suggests that if the learner has many mental models and the competence to link the models, they can re-build models for many scenarios. Given this, what is then needed is a feedback process to make use of errors to refine the mental model for the task in hand.
Learning to Drive
We might see this apply to car driving. Give the keys to a baby and say “drive me home” and you won’t get much success. The learner has few mental models. Give the keys to teenager with some idea of what an engine is and how to steer and some idea of brakes and gearbox and it won’t take too long and too many errors before they can drive relatively safely. The teenager has reasonably well developed mental models and just needs to rebuild what he or she has, perhaps through EMT. And that’s before we consider that they’ve already played Grand Theft Auto!!
Learning by trial and error: how bizarre is that?
There are parallels here with modern software engineering. The traditional life-cycle model for a project requires a requirements elicitation (a software ‘training needs analysis’) at the beginning and then the building of the software in a structured fashion to meet this requirement definition. The momentous failures of software projects has led to alternative approaches. One alternative is to recognise that comprehensive requirement definition is often not possible. Here software engineers use a process similar to EMT to produce an example (a model), gain criticism from users and correct the example to produce a new model. This process continues for many weeks, until eventually a compliant software solution results. The process is known as ‘agile software engineering’ and requires only that there is a clear vision of the goals.
Like EMT it is perhaps relevant in some projects and not in others and where relevant it is both efficient and effective.
 Keith, N., & Frese, M. (2008). Effectiveness of error management training: a meta-analysis. The Journal of applied psychology, 93(1), 59-69.