ABSTRACT
In agile methods, the priority of fast delivery of operational software has directly reached the execution of the activities foreseen in the Requirements Engineering (RE) and Software Testing (ST) stages. Thus, understanding how these activities have been performed in agile teams and how they can contribute in a coordinated way to the quality of the software developed, appears as a need for both academia and industry. For this, we conducted an unsupervised exploratory research (Survey) with seventy-two professionals who work in the software industry and who have experience with RE and ST activities. In a complementary way, we compared the findings of the Survey with the results already found in the literature and with agile practices. Such findings highlight that: (i) the activities of Agile RE and Agile ST still need to be matured in terms of their implementation in a coordinated way in the projects; (ii) there are some similarities and differences between what has been investigated in academia and the real practices and challenges of the industry; (iii) some agile practices, specific to RE and ST have been used, as well as other agile practices more related to processes, approaches, and software development. Such practices act in a complementary manner.
- Agile Alliance. 2016. Agile glossary. URL: https://www.agilealliance.org/agile101/agile-glossary/ Accessed on August 13, 2020.Google Scholar
- Wasim Alsaqaf, Maya Daneva, and Roel Wieringa. 2019. Quality requirements challenges in the context of large-scale distributed agile: An empirical study. Information and software technology 110 (2019), 39–55.Google ScholarDigital Library
- Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas. 2001. Manifesto for agile software development. URL: https://agilemanifesto.org/principles.html Accessed on August 13, 2020.Google Scholar
- Palash Bera and Abhimanyu Gupta. 2019. A software tool to convert requirements to test cases. In 2019 IEEE/ACM 6th International Workshop on Requirements Engineering and Testing (RET). IEEE, 9–12.Google ScholarDigital Library
- Antonia Bertolino. 2007. Software testing research: Achievements, challenges, dreams. In Future of Software Engineering (FOSE’07). IEEE, 85–103.Google Scholar
- Elizabeth Bjarnason, Per Runeson, Markus Borg, Michael Unterkalmsteiner, Emelie Engström, Björn Regnell, Giedre Sabaliauskaite, Annabella Loconsole, Tony Gorschek, and Robert Feldt. 2014. Challenges and practices in aligning requirements with verification and validation: a case study of six companies. Empirical software engineering 19, 6 (2014), 1809–1855.Google Scholar
- Elizabeth Bjarnason, Michael Unterkalmsteiner, Markus Borg, and Emelie Engström. 2016. A multi-case study of agile requirements engineering and the use of test cases as requirements. Information and Software Technology 77 (2016), 61–79.Google ScholarDigital Library
- Eliane Figueiredo Collins and Vicente Ferreira de Lucena. 2012. Software test automation practices in agile development environment: An industry experience report. In 2012 7th International Workshop on Automation of Software Test (AST). IEEE, 57–63.Google ScholarCross Ref
- Juliet Corbin and Anselm Strauss. 2014. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage publications.Google Scholar
- Jarbele CS Coutinho, Wilkerson L Andrade, and Patrícia DL Machado. 2019. Requirements Engineering and Software Testing in Agile Methodologies: a Systematic Mapping. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering. 322–331.Google ScholarDigital Library
- Lisa Crispin and Janet Gregory. 2009. Agile testing: A practical guide for testers and agile teams. Pearson Education.Google Scholar
- Daniela Soares Cruzes, Michael Felderer, Tosin Daniel Oyetoyan, Matthias Gander, and Irdin Pekaric. 2017. How is security testing done in agile teams? a cross-case analysis of four software teams. In International Conference on Agile Software Development. Springer, Cham, 201–216.Google ScholarCross Ref
- Ernani César dos Santos and Patrícia Vilain. 2018. Automated Acceptance Tests as Software Requirements: An Experiment to Compare the Applicability of Fit Tables and Gherkin Language. In International Conference on Agile Software Development. Springer, Porto, Portugal, 104–119.Google ScholarCross Ref
- Abhimanyu Gupta and Palash Bera. 2019. A Software Tool to Convert Requirements to Test Cases. In Proceedings of the 6th International Workshop on Requirements Engineering and Testing (Montreal, Quebec, Canada) (RET ’19). IEEE Press, 9–12. https://doi.org/10.1109/RET.2019.00009Google ScholarDigital Library
- Chih-Wei Ho, Michael J Johnson, Laurie Williams, and E Michael Maximilien. 2006. On agile performance requirements specification and testing. In AGILE 2006 (AGILE’06). IEEE, 6–pp.Google Scholar
- Sofija Hotomski, Eya Ben Charrada, and Martin Glinz. 2016. An exploratory study on handling requirements and acceptance test documentation in industry. In 2016 IEEE 24th International Requirements Engineering Conference (RE). IEEE, 116–125.Google ScholarCross Ref
- Sofija Hotomski and Martin Glinz. 2018. GuideGen-A Tool for Keeping Requirements and Acceptance Tests Aligned. In 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion). IEEE, 49–52.Google Scholar
- Irum Inayat, Siti Salwah Salim, Sabrina Marczak, Maya Daneva, and Shahaboddin Shamshirband. 2015. A systematic literature review on agile requirements engineering practices and challenges. Computers in human behavior 51 (2015), 915–929.Google Scholar
- Dalton N Jorge, Patrícia DL Machado, Everton LG Alves, and Wilkerson L Andrade. 2018. Integrating Requirements Specification and Model-Based Testing in Agile Development. In 2018 IEEE 26th International Requirements Engineering Conference (RE). IEEE, 336–346.Google Scholar
- Pertti Karhapää, Alireza Haghighatkhah, and Markku Oivo. 2017. What Do We Know about Alignment of Requirements Engineering and Software Testing?. In Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering (Karlskrona, Sweden) (EASE’17). Association for Computing Machinery, New York, NY, USA, 354–363. https://doi.org/10.1145/3084226.3084265Google ScholarDigital Library
- Juliana Medeiros, Daniela CP Alves, Alexandre Vasconcelos, Carla Silva, and Eduardo Wanderley. 2015. Requirements Engineering in Agile Projects: A Systematic Mapping based in Evidences of Industry.. In CibSE. 460.Google Scholar
- Juliana Medeiros, Alexandre Vasconcelos, Carla Silva, and Miguel Goulão. 2020. Requirements specification for developers in agile projects: Evaluation by two industrial case studies. Information and Software Technology 117 (2020), 106194.Google ScholarDigital Library
- Mirosław Ochodek and Sylwia Kopczyńska. 2018. Perceived importance of agile requirements engineering practices–a survey. Journal of Systems and Software 143 (2018), 29–43.Google ScholarCross Ref
- Eva-Maria Schön, Jörg Thomaschewski, and María José Escalona. 2017. Agile Requirements Engineering: A systematic literature review. Computer Standards & Interfaces 49 (2017), 79–91.Google ScholarCross Ref
- Michael Unterkalmsteiner, Tony Gorschek, Robert Feldt, and Eriks Klotins. 2015. Assessing requirements engineering and software test alignment—Five case studies. Journal of systems and software 109 (2015), 62–77.Google ScholarDigital Library
- Stefan Wagner, Daniel Méndez Fernández, Michael Felderer, and Marcos Kalinowski. 2017. Requirements engineering practice and problems in agile projects: results from an international survey. XX Ibero-American Conference on Software Engineering (CIbSE), arXiv:1703.08360 (2017).Google Scholar
- Tao Yue, Shaukat Ali, and Man Zhang. 2015. RTCM: a natural language based, automated, and practical test case generation framework. In Proceedings of the 2015 International Symposium on Software Testing and Analysis. 397–408.Google ScholarDigital Library
Index Terms
- A Survey of Requirements Engineering and Software Testing Practices in Agile Teams
Recommendations
Agile Requirements Engineering Practices: An Empirical Study
An analysis of data from 16 software development organizations reveals seven agile requirements-engineering practices, along with their benefits and challenges. These practices include face-to-face communication, iterative RE, extreme prioritization, ...
Investigating Agile Practices in Software Startups
SBES '19: Proceedings of the XXXIII Brazilian Symposium on Software EngineeringSoftware development practices have smoothly shifted from traditional software development to new approaches that fit better to the real and unpredictable world. Agile practices might help practitioners respond quickly to customer change requests and ...
Adopting to Agile Software Development
Abstract Agile software development can be made successful, but there is no well-defined way how to achieve this. The problem is that the successful adoption of agile methods and practices is a complex process and this process should be customizable for ...
Comments