Impact Propagation of Human Errors on Software Requirements Volatility

Requirements volatility (RV) is one of the key risk sources in software development and maintenance projects because of the frequent changes made to the software. Human faults and errors are major factors contributing to requirement change in software development projects. As such, predicting requirements volatility is a challenge to risk management in the software area. Previous studies only focused on certain aspects of the human error in this area. This study specifically identifies and analyses the impact of human errors on requirements gathering and requirements volatility. It proposes a model based on responses to a survey questionnaire administered to 215 participants who have experience in software requirement gathering. Exploratory factor analysis (EFA) and structural equation modelling (SEM) were used to analyse the correlation of human errors and requirement volatility. The results of the analysis confirm the correlation between human errors and RV. The results show that human actions have a higher impact on RV compared to human perception. The study provides insights into software management to understand socio-technical aspects of requirements volatility in order to control risk management. Human actions and perceptions respectively are a root cause contributing to human errors that lead to RV.

[1]  Didar Zowghi,et al.  A study of the impact of requirements volatility on software project performance , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[2]  Gregory J. Privitera,et al.  Research Methods for the Behavioral Sciences , 2013 .

[3]  Robert Feldt,et al.  Behavioral software engineering: A definition and systematic literature review , 2015, J. Syst. Softw..

[4]  Penelope M. Sanderson,et al.  Skills, Rules and Knowledge: A Discussion of Rasmussen's Classification , 1986 .

[5]  Dietmar Pfahl,et al.  Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story , 2008 .

[6]  Barbara M. Byrne,et al.  Structural equation modeling with EQS : basic concepts, applications, and programming , 2000 .

[7]  D. Norman The Design of Everyday Things: Revised and Expanded Edition , 2013 .

[8]  J. Long Confirmatory Factor Analysis , 1983 .

[9]  Carlos Henrique Quartucci Forster,et al.  Application of human error theories for the process improvement of Requirements Engineering , 2013, Inf. Sci..

[10]  Søren Lauesen,et al.  Preventing Requirement Defects: An Experiment in Process Improvement , 2001, Requirements Engineering.

[11]  J. Jaccard,et al.  LISREL Approaches to Interaction Effects in Multiple Regression , 1998 .

[12]  Salma Imtiaz,et al.  Causes of requirement change - A systematic literature review , 2012, EASE.

[13]  Qaiser S. Durrani,et al.  A study to investigate the impact of requirements instability on software defects , 2004, SOEN.

[14]  Zhang Li,et al.  Fuzzy logic-based approach for identifying the risk importance of human error , 2010 .

[15]  Donald Firesmith,et al.  Common Requirements Problems, Their Negative Consequences, and the Industry Best Practices to Help Solve Them , 2007, J. Object Technol..

[16]  J. Schaubroeck,et al.  Confirmatory Modeling in Organizational Behavior/Human Resource Management: Issues and Applications , 1990 .

[17]  Michael R. Mullen,et al.  Structural equation modelling: guidelines for determining model fit , 2008 .

[18]  Robert G. Mays,et al.  Experiences with Defect Prevention , 1990, IBM Syst. J..

[19]  Jan M. Pawlowski,et al.  Soft competency requirements in requirements engineering, software design, implementation, and testing , 2015, J. Syst. Softw..

[20]  George Stark An Examination of the Effects of Requirements Changes on Software Releases , 1998 .

[21]  Elena Navarro,et al.  An empirical evaluation of requirement engineering techniques for collaborative systems , 2011, EASE.

[22]  Jens Rasmussen,et al.  Human errors. a taxonomy for describing human malfunction in industrial installations , 1982 .

[23]  H. S. Booker,et al.  Research Methods for the Behavioral Sciences , 2020 .

[24]  Stephan Diehl,et al.  Grounded requirements engineering: An approach to use case driven requirements engineering , 2016, J. Syst. Softw..

[25]  K. Dautenhahn,et al.  Creating a software to promote understanding about narrative in children with autism: Reflecting on the design of feedback and opportunities to reason , 2007, 2007 IEEE 6th International Conference on Development and Learning.

[26]  John W. Senders,et al.  Human Error: Cause, Prediction, and Reduction , 1991 .

[27]  Yashwant K. Malaiya,et al.  Requirements volatility and defect density , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[28]  Jeffrey C. Carver,et al.  A systematic literature review to identify and classify software requirement errors , 2009, Inf. Softw. Technol..

[29]  Alberto Sillitti,et al.  A multivariate classification of open source developers , 2013, Inf. Sci..

[30]  Wan M. N. Wan-Kadir,et al.  Propagating Requirement Change into Software High Level Designs towards Resilient Software Evolution , 2009, 2009 16th Asia-Pacific Software Engineering Conference.

[31]  T. Landauer,et al.  Handbook of Human-Computer Interaction , 1997 .

[32]  Leon Pretorius,et al.  A perspective on human factors contributing to quality requirements: A cross-case analysis , 2011, 2011 IEEE International Conference on Industrial Engineering and Engineering Management.

[33]  Rick H. Hoyle,et al.  Confirmatory Factor Analysis , 1983 .

[34]  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..

[35]  Lefteris Angelis,et al.  Links between the personalities, views and attitudes of software engineers , 2010, Inf. Softw. Technol..

[36]  Keith A. Markus,et al.  Principles and Practice of Structural Equation Modeling by Rex B. Kline , 2012 .

[37]  A. Yazici,et al.  Successful requirement elicitation by combining requirement engineering techniques , 2008, 2008 First International Conference on the Applications of Digital Information and Web Technologies (ICADIWT).

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

[39]  Dag I. K. Sjøberg,et al.  Effects of Personality on Pair Programming , 2010, IEEE Transactions on Software Engineering.

[40]  Rex B. Kline,et al.  Principles and Practice of Structural Equation Modeling , 1998 .

[41]  D. Norman Categorization of action slips. , 1981 .

[42]  Tony Gorschek,et al.  Challenges and practices in aligning requirements with verification and validation: a case study of six companies , 2013, Empirical Software Engineering.

[43]  Gerald T. Mackulak,et al.  Understanding the effects of requirements volatility in software engineering by using analytical modeling and software process simulation , 2009, J. Syst. Softw..

[44]  Ana Regina Cavalcanti da Rocha,et al.  Domain-oriented software development environment , 2004, J. Syst. Softw..

[45]  Albert Endres,et al.  A handbook of software and systems engineering - empirical observations, laws and theories , 2003, The Fraunhofer IESE series on software engineering.

[46]  Natalia Juristo Juzgado,et al.  Is the European Industry Moving toward Solving Requirements Engineering Problems? , 2002, IEEE Softw..

[47]  Rajesri Govindaraju,et al.  Requirement Volatility, Standardization and Knowledge Integration in Software Projects: An Empirical Analysis on Outsourced IS Development Projects , 2015 .

[48]  Sidney Dekker,et al.  Illusions of Explanation:A Critical Essay on Error Classification , 2003 .

[49]  Reidar Conradi,et al.  An empirical study of software change: origin, acceptance rate, and functionality vs. quality attributes , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..