Towards Guidelines for Preventing Critical Requirements Engineering Problems

[Context] Problems in Requirements Engineering (RE) can lead to serious consequences during the software development lifecycle. [Goal] The goal of this paper is to propose empirically-based guidelines that can be used by different types of organisations according to their size (small, medium or large) and process model (agile or plan-driven) to help them in preventing such problems. [Method] We analysed data from a survey on RE problems answered by 228 organisations in 10 different countries. [Results] We identified the most critical RE problems, their causes and mitigation actions, organizing this information by clusters of size and process model. Finally, we analysed the causes and mitigation actions of the critical problems of each cluster to get further insights into how to prevent them. [Conclusions] Based on our results, we suggest preliminary guidelines for preventing critical RE problems in response to context characteristics of the companies.

[1]  Tayana Conte,et al.  Towards Building Knowledge on Causes of Critical Requirements Engineering Problems , 2015, SEKE.

[2]  Roel Wieringa,et al.  Naming the pain in requirements engineering , 2016, Empirical Software Engineering.

[3]  Guilherme Horta Travassos,et al.  Automating and Evaluating Probabilistic Cause-Effect Diagrams to Improve Defect Causal Analysis , 2011, PROFES.

[4]  Stefan Wagner,et al.  Naming the pain in requirements engineering: design of a global family of surveys and first results from Germany , 2013, EASE '13.

[5]  Abdul Azim Abdul Ghani,et al.  Requirements Engineering Problems and Practices in Software Companies: An Industrial Survey , 2009, FGIT-ASEA.

[6]  Austen Rainer,et al.  Requirements problems in twelve software companies: an empirical analysis , 2002, IEE Proc. Softw..

[7]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[8]  Austen Rainer,et al.  Software Process Improvement Problems in Twelve Software Companies: An Empirical Analysis , 2003, Empirical Software Engineering.

[9]  日本規格協会,et al.  Guide to quality control and company standardization , 1984 .

[10]  Philippe Kruchten,et al.  Using grounded theory to study the experience of software development , 2011, Empirical Software Engineering.

[11]  Guilherme Horta Travassos,et al.  Evidence-Based Guidelines to Defect Causal Analysis , 2012, IEEE Software.

[12]  Tayana Conte,et al.  Naming the Pain in Requirements Engineering: Comparing Practices in Brazil and Germany , 2015, IEEE Software.

[13]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[14]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[15]  Guilherme Horta Travassos,et al.  Towards a Defect Prevention Based Process Improvement Approach , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

[16]  Roel Wieringa,et al.  Naming the pain in requirements engineering , 2016, Empirical Software Engineering.

[17]  Chris Verhoef,et al.  The rise and fall of the Chaos report figures , 2010, IEEE Software.

[18]  Fei Peng,et al.  Why Requirements Engineering Fails: A Survey Report from China , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[19]  Michael Felderer,et al.  Preventing Incomplete/Hidden Requirements: Reflections on Survey Data from Austria and Brazil , 2016, SWQD.