Perceived importance of agile requirements engineering practices - A survey

Abstract Context:Requirements Engineering (RE) is one of the key processes in software development. Since Agile software development advocates continuous improvement, the question arises which Agile RE practices are the most essential and shall be adopted/improved at first? Objective:Investigate and rank the Agile RE practices based on how practitioners perceive their importance for a software project. Method:We conducted a survey asking 136 Agile software development practitioners how they perceive the importance of the 31 Agile RE practices that we had identified in a literature study. We used a ranking method based on the PROMETHEE family methods to create the ranking of relative importance of the practices. Results:The opinions of respondents from a wide range of countries around the globe allowed us to determine the perceived importance of the Agile RE practices and create a seven-tier ranking of the practices. Moreover, the analysis concerning demographic data let us identify some relationships between the experience of the respondents and their view on the importance of the Agile RE practices. Conclusions:Our findings suggest the most critical Agile RE practices are those supporting iterative development with emergent requirements and short feedback loop. Moreover, in many cases, the perceived importance of practices seems to depend on the context of the project (e.g., methodology, domain). We also learned that the popularity of the practices is highly correlated with their perceived importance.

[1]  Sherif A. Mazen,et al.  Agile and Traditional Requirements Engineering: A Survey , 2013 .

[2]  Pekka Abrahamsson,et al.  Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum , 2008, IET Softw..

[3]  Alena Buchalcevová Research of the Use of Agile Methodologies in the Czech Republic , 2007, ISD.

[4]  Giulio Concas,et al.  Agile Methodologies in Web Programming: A Survey , 2014, XP.

[5]  Frank Maurer,et al.  User-Centered Design and Agile Methods: A Systematic Review , 2011, 2011 AGILE Conference.

[6]  James Noble,et al.  The impact of inadequate customer collaboration on self-organizing Agile teams , 2011, Inf. Softw. Technol..

[7]  Frank Maurer,et al.  Knowledge Sharing in Agile Software Teams , 2004, Logic versus Approximation.

[8]  Slinger Jansen,et al.  The agile requirements refinery: Applying SCRUM principles to software product management , 2011, Inf. Softw. Technol..

[9]  Matt Stephens,et al.  Extreme Programming Refactored: The Case Against XP , 2003, Apress.

[10]  Shahla Ghobadi,et al.  What drives knowledge sharing in software development teams: A literature review and classification framework , 2015, Inf. Manag..

[11]  Stavros Stavru,et al.  A critical examination of recent industrial surveys on agile method usage , 2014, J. Syst. Softw..

[12]  Marcus Ciolkowski,et al.  Conducting on-line surveys in software engineering , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[13]  Frank Maurer,et al.  A case study on the impact of scrum on overtime and customer satisfaction , 2005, Agile Development Conference (ADC'05).

[14]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[15]  Fabio Q. B. da Silva,et al.  An empirical study on the relationship between the use of agile practices and the success of Scrum projects , 2010, ESEM '10.

[16]  Philipp Diebold,et al.  Agile practices in practice: a mapping study , 2014, EASE '14.

[17]  Daniel M. Berry,et al.  Ambiguity in Natural Language Requirements Documents , 2008, Monterey Workshop.

[18]  S. Sohrabi,et al.  An Analytical Survey of "On-Site Customer" Practice in Extreme Programming , 2008, International Symposium on Computer Science and its Applications.

[19]  Alexander Maedche,et al.  Exploring principles of user-centered agile software development: A literature review , 2015, Inf. Softw. Technol..

[20]  Andreas S. Andreou,et al.  Empirical evidence and state of practice of software agile teams , 2014, J. Softw. Evol. Process..

[21]  Jacob Cohen Statistical Power Analysis , 1992 .

[22]  Brian Fitzgerald,et al.  Creativity in Agile Systems Development: A Literature Review , 2009, CreativeSME.

[23]  Eisha Hasnain,et al.  Introduction to Stand‐up Meetings in Agile Methods , 2009 .

[24]  Mira Kajko-Mattsson,et al.  Problems in agile trenches , 2008, ESEM '08.

[25]  Colin J. Neill,et al.  State of practice in requirements engineering: contemporary data , 2014, Innovations in Systems and Software Engineering.

[26]  Pekka Abrahamsson,et al.  Extreme programming: a survey of empirical data from a controlled case study , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[27]  K. Todd Stevens,et al.  Examining the Foundations of Agile Usability with eXtreme Scenario-Based Design , 2009, 2009 Agile Conference.

[28]  R. Stacey Strategic Management and Organisational Dynamics: The Challenge of Complexity , 1999 .

[29]  Vincent Massol,et al.  JUnit in Action , 2003 .

[30]  K. Charmaz,et al.  Constructing Grounded Theory , 2014 .

[31]  Laurie A. Williams,et al.  What agile teams think of agile principles , 2012, Commun. ACM.

[32]  Ken Power Definition of Ready: An Experience Report from Teams at Cisco , 2014, XP.

[33]  Tommi Mikkonen,et al.  Agile User Experience Development in a Large Software Organization: Good Expertise but Limited Impact , 2012, HCSE.

[34]  Mike Cohn,et al.  User Stories Applied: For Agile Software Development , 2004 .

[35]  Andreia Malucelli,et al.  Processes versus people: How should agile software development maturity be defined? , 2014, J. Syst. Softw..

[36]  D. Wolfe,et al.  Nonparametric Statistical Methods. , 1974 .

[37]  Roland T. Mittermeir,et al.  Agile Process Myths , 2008, APOS '08.

[38]  Klaus Pohl,et al.  Requirements Engineering - Fundamentals, Principles, and Techniques , 2010 .

[39]  Deepali Shahane,et al.  Factors influencing the agile methods in practice - Literature survey & review , 2014, 2014 International Conference on Computing for Sustainable Global Development (INDIACom).

[40]  Xiaofeng Wang,et al.  A Study of the Characteristics of Behaviour Driven Development , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[41]  Bertrand Meyer,et al.  Agile! , 2014, Springer International Publishing.

[42]  Andreas Holzinger,et al.  Current State of Agile User-Centered Design: A Survey , 2009, USAB.

[43]  Geir Kjetil Hanssen,et al.  Automated Acceptance Testing: A Literature Review and an Industrial Case Study , 2008, Agile 2008 Conference.

[44]  Natalie A. Koziol,et al.  MRCV: A Package for Analyzing Categorical Variables with Multiple Response Options , 2014 .

[45]  Joep W. Frens,et al.  Interaction relabelling and extreme characters: methods for exploring aesthetic interactions , 2000, DIS '00.

[46]  Muhammad Asim Ali,et al.  International Journal of Information and Communication Technology Research Survey on the State of Agile Practices Implementation in Pakistan , 2022 .

[47]  Kai Petersen,et al.  Prioritizing agile benefits and limitations in relation to practice usage , 2016, Software Quality Journal.

[48]  Pekka Abrahamsson,et al.  Agile Software Development Methods: Review and Analysis , 2017, ArXiv.

[49]  Daniel Sundmark,et al.  An Industrial Survey on Contemporary Aspects of Software Testing , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[50]  Jie Sun,et al.  The Role of Requirements Engineering Practices in Agile Development: An Empirical Study , 2014, APRES.

[51]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[52]  Sabrina Marczak,et al.  A systematic literature review on agile requirements engineering practices and challenges , 2015, Comput. Hum. Behav..

[53]  Abhay Bansal,et al.  A survey on agile practices in the Indian IT industry , 2016, 2016 6th International Conference - Cloud System and Big Data Engineering (Confluence).

[54]  Rachel Harrison,et al.  Goal Sketching: Towards Agile Requirements Engineering , 2007, International Conference on Software Engineering Advances (ICSEA 2007).

[55]  Vesna Nikolic,et al.  A survey study of critical success factors in agile software projects in former Yugoslavia IT companies , 2013, J. Syst. Softw..

[56]  Lasse Koskela,et al.  Test Driven: Practical TDD and Acceptance TDD for Java Developers , 2007 .

[57]  Claes Wohlin,et al.  Agile Practices in Global Software Engineering - A Systematic Map , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[58]  Janice Singer,et al.  Guide to Advanced Empirical Software Engineering , 2007 .

[59]  Claes Wohlin,et al.  Global software engineering and agile practices: a systematic review , 2012, J. Softw. Evol. Process..

[60]  Kieran Conboy,et al.  A case study of customer communication in globally distributed software product development , 2010, PROFES '10.

[61]  Fabio Q. B. da Silva,et al.  Challenges and solutions in distributed software development project management: A systematic literature review , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[62]  Björn Regnell,et al.  Requirements are slipping through the gaps — A case study on causes & effects of communication gaps in large-scale software development , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[63]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[64]  Cmmi Product Team CMMI for Development, Version 1.2 , 2010 .

[65]  Reza Baradaran Kazemzadeh,et al.  PROMETHEE: A comprehensive literature review on methodologies and applications , 2010, Eur. J. Oper. Res..

[66]  Langdon Morris,et al.  Agile Innovation: The Revolutionary Approach to Accelerate Success, Inspire Engagement, and Ignite Creativity , 2014 .

[67]  Jouni Markkula,et al.  Survey on agile and lean usage in finnish software industry , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[68]  Tsun Chow,et al.  A survey study of critical success factors in agile software projects , 2008, J. Syst. Softw..

[69]  Charles Lowell,et al.  Successful Automation of GUI Driven Acceptance Testing , 2003, XP.

[70]  Mike Cohn,et al.  Agile Estimating and Planning , 2005 .

[71]  Jim Highsmith Agile Project Management: Creating Innovative Products , 2009 .

[72]  Tero Päivärinta,et al.  Theorizing about software development practices , 2015, Sci. Comput. Program..

[73]  Ioannis Stamelos,et al.  Empirical Studies on Quality in Agile Practices: A Systematic Literature Review , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[74]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[75]  Kenneth S. Rubin,et al.  Essential Scrum: A Practical Guide to the Most Popular Agile Process , 2012 .

[76]  Mark Harman,et al.  Regression testing minimization, selection and prioritization: a survey , 2012, Softw. Test. Verification Reliab..

[77]  Jonathan Arnowitz,et al.  Effective Prototyping for Software Makers , 2006 .

[78]  Hans Christian Benestad,et al.  Perceived productivity threats in large agile development projects , 2010, ESEM '10.

[79]  Thomas Memmel,et al.  Agile human-centered software engineering , 2007 .

[80]  Paul A. Cairns,et al.  A systematic literature review for agile development processes and user centred design integration , 2014, EASE '14.

[81]  Mike Cohn,et al.  Succeeding with Agile: Software Development Using Scrum , 2009 .

[82]  Muhammad Ovais Ahmad,et al.  Kanban in software development: A systematic literature review , 2013, 2013 39th Euromicro Conference on Software Engineering and Advanced Applications.

[83]  Steve Berczuk,et al.  Back to Basics: The Role of Agile Principles in Success with an Distributed Scrum Team , 2007, Agile 2007 (AGILE 2007).

[84]  Hye-Young Paik,et al.  Using Scrum in Global Software Development: A Systematic Literature Review , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[85]  Mohamad Kassab An Empirical Study on the Requirements Engineering Practices for Agile Software Development , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[86]  Roman Pichler,et al.  Agile Product Management with Scrum: Creating Products That Customers Love , 2010 .

[87]  Kai Petersen,et al.  Agile Software Development Practice Adoption Survey , 2012, XP.

[88]  Kai Petersen,et al.  Benefits and limitations of automated software testing: Systematic literature review and practitioner survey , 2012, 2012 7th International Workshop on Automation of Software Test (AST).

[89]  Larry L. Constantine,et al.  Software for Use - A Practical Guide to the Models and Methods of Usage-Centered Design , 1999 .

[90]  Harold H. Miller-Jacobs,et al.  In search of the ideal prototype , 1992, CHI '92.

[91]  Klaas Sikkel,et al.  Agile requirements prioritization in large-scale outsourced system projects: An empirical study , 2013, J. Syst. Softw..

[92]  Andrew Begel,et al.  Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study , 2007, ESEM 2007.

[93]  Laurie A. Williams,et al.  Agile Software Development in Practice , 2014, XP.

[94]  Eliza Stefanova,et al.  Analyses of an agile methodology implementation , 2004 .

[95]  James Noble,et al.  Being Jane Malkovich: A Look Into the World of an XP Customer , 2003, XP.

[96]  Mohamad Kassab,et al.  The changing landscape of requirements engineering practices over the past decade , 2015, 2015 IEEE Fifth International Workshop on Empirical Requirements Engineering (EmpiRE).

[97]  Grigori Melnik,et al.  Tests and Requirements, Requirements and Tests: A Möbius Strip , 2008, IEEE Software.