Developing and Evaluating Learning Materials to Introduce Human Error Concepts in Software Engineering Courses: Results from Industry and Academia

[Background]: This Research Category Full Paper presents the results of authors’ efforts to develop and evaluate learning materials for introducing Software Engineering (SE) students to the Cognitive Psychology concept of human errors (specifically to those human errors that occur during software development). During the last few years, the authors have developed, through a rigorous literature review and empirical investigation, human error intervention instrumentation and supporting training/teaching material. The intervention instrument consists of a corpus of human errors and a tool to support human error based software requirements inspections. The primary aim of developing this instrumentation and training material is to impart SE/CS students with the knowledge about the most frequently committed human errors during the software development process. [Goal and Method]: First, a study was conducted with Industry Practitioners with the goal of examining if the practitioners believed that human errors and human error training are useful and relevant to the software development process. Next, based on feedback from the practitioners, a study was conducted in an undergraduate Software Engineering course where students were trained using the human error instrument and were asked to perform error based requirements inspections. The high-level goal of this paper is to evaluate whether requirements inspections supported by human errors can be used to deliver knowledge about software engineering human errors as well as knowledge about requirements inspections (a key industry skill) to students. [Results]: Results showed that industry practitioners found the human error instrumentation and training useful. Based on their feedback, when the training was administered to students, it helped students understand those human errors that are the frequently committed during the software development process.

[1]  Gursimran Singh Walia,et al.  Training Industry Practitioners to Investigate the Human Error Causes of Requirements Faults , 2018, 2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW).

[2]  Mark J. Sebern,et al.  SE 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering , 2015, Computer.

[3]  Mathias Kluge,et al.  An Introduction To Applied Cognitive Psychology , 2016 .

[4]  Jeffrey C. Carver,et al.  Development of a human error taxonomy for software requirements: A systematic literature review , 2018, Inf. Softw. Technol..

[5]  J. Shaoul Human Error , 1973, Nature.

[6]  Gursimran Singh Walia,et al.  An empirical study of the effect of learning styles on the faults found during the software requirements inspection , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[7]  Scott A. Shappell,et al.  The Human Factors Analysis and Classification System : HFACS : final report. , 2000 .

[8]  Maninder Singh,et al.  Validating Requirements Reviews by Introducing Fault-Type Level Granularity: A Machine Learning Approach , 2018, ISEC.

[9]  Tom Rodden,et al.  Human factors in requirements engineering: A survey of human sciences literature relevant to the improvement of dependable systems development processes , 1999, Interact. Comput..

[10]  Edie McConaughey,et al.  Crew Resource Management in Healthcare: The Evolution of Teamwork Training and MedTeams® , 2008, The Journal of perinatal & neonatal nursing.

[11]  Eduardo Salas,et al.  Does Crew Resource Management Training Work? An Update, an Extension, and Some Critical Needs , 2006, Hum. Factors.

[12]  Robert L. Helmreich,et al.  Why CRM? Empirical and Theoretical Bases of Human Factors Training , 2010 .

[13]  James T. Reason,et al.  Managing the risks of organizational accidents , 1997 .

[14]  Gursimran Singh Walia,et al.  Incorporating Human Error Education into Software Engineering Courses via Error-based Inspections , 2017, SIGCSE.

[15]  Dietmar P. F. Möller,et al.  Systems and Software Engineering , 2016 .

[16]  Albert Boquet,et al.  Human Error and General Aviation Accidents: A Comprehensive, Fine-Grained Analysis Using HFACS , 2005 .

[17]  Forrest Shull,et al.  Experimenting with error abstraction in requirements documents , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).