Recently, Gary Klein et-al. published an article Cognitive Systems Engineering: The Hype and the Hope that touched on several interesting points about how Cognitive Systems Engineering (CSE) fits into the broader field of Systems Engineering. If you are at all interested in systems design, it’s a great ‘light reading’ introduction to CSE and how it dramatically improves systems in ways that ‘classic’ systems engineering just doesn’t address. Systems engineering is essentially technology-centric. Over the last several years it has added ‘process-centric’ in an attempt to build better systems more efficiently. More recently, it has attempted to improve ‘user acceptance’ as part of that efficiency (i.e. if the users reject the use of the final system, the net development efficiency is clearly 0%). These attempts to ‘include the user’ have brought you RAD/JAD, Use Cases, Extreme Programming, etc. which have had some success, but continue to result in systems which don’t really support users in performing real cognitive work in real situations. Klein et-al. have chosen to discuss the CSE connections with Systems Engineering using the provocative form of “myths” and then discuss how the myths distort/confuse the real truth. The writing style makes it an easy, light read, but unfortunately results in a series of false dichotomies to enable the ‘myth’ writing construct.
For example, the opening discussed autopilot settings in a dynamic situation. Then, the user is asked the false question: “will the pilot anticipate that the system deletes altitude settings when runways are changed?”. The fundamental CSE issue at hand is the lack of Automation Observability (see Woods’ podcast The Laws of Stretched Systems in Action: Exploiting Robots , i.e. the system design does not explicitly indicate it’s automated action, such as (discarding altitude settings) in any way to the user. This is revealed in the implicit requirement for the pilot to memorize this behavior during training, and recall it during the high stress dynamic event.
Let’s take the ‘myth-i-ness’ out of the discussion to eliminate the hyperbole:
1. To say CSE was created in response to ‘large number of failed software systems’ isn’t exactly a fair rendering of the history. There have been massive numbers of studies on the high cost/low productivity of software engineering efforts. The SEI’s entire CMM effort was created to respond to this issue. Obliquely, ‘user acceptance’ has been one factor in ‘failed software’ projects. Since CSE (done well) does make the support for user cognitive work an *explicit* part of the requirement and design efforts, you could make the case for a linkage existing.
2. Myth 1 makes an artificial distinction between project managers and systems engineering. Systems Engineering contains ‘project management’ as a critical component. The fact that there are Project Management Professionals that specialize in the area does not make them separate and distinct. In order for CSE to impact the development of real systems it must become part of the engineering processes, and must be reflected in the project management of those development efforts.
3. Myth 2: CSE is a strategy. Again, this is another false dichotomy. Any engineering discipline has multiple methods for doing the work – (witness the large number of software engineering methodologies available to the software communities). The point that should be conveyed can be stated like this: within the CSE field, there are a variety of techniques/methods/processes in use today. They differ in any number of characteristics, some more readily suited to being part of a larger systems engineering effort than others. They range from “I’m a cognitive psychologist so my system designs must be CSE” to methods like our Applied Cognitive Systems Engineering (ACSE) approach that is explicitly tailored to connect to systems, software, QA, and Test engineering processes.
4. Myth 3: CSE should minimize the user’s cognitive requirements. This one is a bit oddly stated. It is intended to mean ‘cognitive work should be offloaded to automation as much as possible.’ To some degree, there are systems designers who very much want to drink this kool-aid, so the myth is, from one point of view, correct: blindly seeking maximal automation is a bad systems design, so clearly CSE wouldn’t advocate maximal automation. Further, an automation that *is* designed into the system, itself creates new elements of cognitive work (to now supervise that automation) which then have to be supported by the system.
5. Myth 4: CSE is a way to get user opinions into the design process. Simply put, CSE, to be valid engineering, has to be based on solid science and findings, not opinions. So CSE is about discovering the actual cognitive work and designing to support it, vice responding literally to users’ stated opinions. Guess that confirms this myth is a myth, but that point is not made in the paper.
6. Myth 5: CSE is essential to good system design. There is an interesting dilemma here, that is again falsely constructed. Its phrased as an all or nothing. Suffice it to say that there are lots of fielded systems that are graded as ‘good design’ because they are better than the crayon and pointed stick that the users had prior. For us, that standard is set too low. Those same fielded systems contain provable ‘decision support flaws’ (like the autopilot at the top of this discussion) that are readily correctable, well-known, and well-proven to cause ‘operator error’ eventually…and therefore those system designs should not be declared ‘good’. Bottom line: CSE is the only engineering practice that explicitly identifies the decision making to be supported by systems…so it should be part of the system design processes…QED
Lastly, the article tries to justify ‘the added cost’ of CSE by a cost/benefit ratio discussion. Ironically, the article overlooks the current costs of designing systems poorly. For example, large sums are spent on “requirements derivation” during large systems engineering efforts. Yet those efforts (and their costs) fail to ‘require’ critical aspects of the design (again, refer back to the autopilot example above: why didn’t the money spent on requirements mandate the proper observability?). In short, CSE can take a portion of the same budget currently in place and *improve* the results already being paid for in existing systems engineering processes.
We’ll leave the discussion of RPD at the end of the paper for another day…