Cognitive Engineering
Authors: Roth Emilie M. , Patterson Emily S. , Mumaw Randall J. , Roth Emilie M. , Mumaw Randall J. 
Published: February 2015

Suppose you were assigned the task of designing software to help automobile mechanics troubleshoot engine malfunctions. How would you approach the problem to ensure that you developed a useful and usable system? Or, suppose you were asked to develop computer‐based procedures to replace the paper‐based procedures that operators now use to monitor and control a papermill process. How would you know what information to include in the computer database or knowledge base? On what basis would you design the human–computer dialog structure? How would you know you have developed a usable system that aids users in accomplishing their tasks and leads to improved performance? These questions do not have simple answers. In this article, we introduce some basic concepts from an emerging field calledcognitive engineeringthat is designed to address these types of questions.

Cognitive engineering is an interdisciplinary approach to the development of principles, methods, tools, and techniques to guide the design of computerized systems intended to support human performance. In supporting human performance, we are concerned with cognitive functions such as problem solving, judgment, decisionmaking, attention, perception, and memory. The basic unit of analysis and design in cognitive engineering is a cognitive system, composed of human and machine agents in a work domain that is delineated by roles, work and communication norms, artifacts, and procedures. The goal of cognitive engineering is to develop systems that are easy to learn, are easy to use, and result in improved human‐computer system performance.

Experience with the introduction of new technology has shown that increased computerization does not guarantee improved human–machine system performance. Poor use of technology can result in systems that are difficult to learn or use, can create additional workload for system users, or in the extreme, can result in systems that are more likely to lead to catastrophic errors. Cognitive engineering attempts to prevent design failures by taking explicit consideration of human processing characteristics in the context of the task.

The guiding tenet of cognitive engineering is that consideration of the users and the tasks they will be performing with the aid of a computer system should be central drivers for system design specification. Human–computer interface design is not to be viewed as peripheral to the primary concerns of software engineering. Instead, a user‐centered, or practice‐centered, system design approach is embraced

In this article, we introduce some of the basic concepts of cognitive engineering. We use examples to illustrate some of the common design pitfalls that have led to poor human–computer systems and underscore the importance of adopting a cognitive engineering approach. We then focus on one major topic in cognitive engineering: cognitive task analysis techniques for assessing task demands and identifying human–computer system requirements.

This article is not an attempt to cover all topics in cognitive engineering. Rather, we focus on concerns and techniques that show clear distinctions between cognitive engineering and other approaches, and that are likely to have the most impact on the quality of the human–computer system design.