Requirement gathering for software development project is the most crucial stage and thus requirement engineering (RE) occupies the chief position in the software development. Countless techniques concerning the RE processes exist to make sure the requirements are coherent, compact and complete in all respects. In this way different aspects of RE are dissected and detailed upon. A comparison of RE in Agile and RE in Waterfall is expatiated and on the basis of the literature survey the overall Agile RE process is accumulated. Agile being a technique produces high quality software in relatively less time as compared to the conventional waterfall methodology. The paramount objective of this study is to take lessons from RE that Agile method may consider, if quality being the cardinal concern. The study is patterned on the survey of the previous research reported in the coexisting literature and the practices which are being pursued in the area.
KeywordsRequirement EngineeringWaterfallSoftware Development Life CycleAgile Software DevelopmentElicitation
Royce, W.W. (1970) Managing the Development of Large Software Systems. Proceedings of IEEE WESCON, 26, 328-388.
Alsultanny, Y. and Wohaishi, A.M. (2009) Requirements of Software Quality Assurance Model. Second International Conference on Environmental and Computer Science, Dubai, 28-30 December 2009, 19-23. http://dx.doi.org/10.1109/icecs.2009.43
Alliance, A. (2001) Manifesto for Agile Software Development. http://www.Agilemanifesto.org/
Hamed, A.M.M. and Abushama, H. (2013) Popular Agile Approaches in Software Development: Review and Analysis. International Conference on Computing, Electrical and Electronics Engineering (ICCEEE), August 2013, 160-166.
Sirshar, M. (2012) Evaluation of Quality Assurance Factors in Agile Methodologies. International Journal of Advanced Computer Science, 2, 73-78.
Huo, M., Verner, J., Zhu, L. and Babar, M.A. (2004) Software Quality and Agile Methods. Proceedings of the 28th Annual International Computer Software and Applications Conference, Hong Kong, 28-30 September 2004, 520-525.
Boehm, B. (2002) Get Ready for Agile Methods, with Care. Computer, 35, 64-69. http://dx.doi.org/10.1109/2.976920
Dyba, T. and Dingsoyr, T. (2009) What Do We Know about Agile Software Development? IEEE Software, 26, 6-9. http://dx.doi.org/10.1109/MS.2009.145
Nerur, S., Mahapatra, R. and Mangalaraj, G. (2005) Challenges of Migrating to Agile Methodologies. Communications of the ACM, 48, 72-78. http://dx.doi.org/10.1145/1060710.1060712
Charvat, J. (2003) Project Management Methodologies: Selecting, Implementing, and Supporting Methodologies and Processes for Projects. John Wiley & Sons, Hoboken.
Fowler, M. (2001) The New Methodology. Wuhan University Journal of Natural Sciences, 6, 12-24. http://dx.doi.org/10.1007/BF03160222
Boehm, B. and Turner, R. (2004) Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods. In Proceedings of 26th International Conference on Software Engineering, 718-719.
Okoli, C. and Carillo, K. (2012) The Best of Adaptive and Predictive Methodologies: Open Source Software Development, a Balance between Agility and Discipline. International Journal of Information Technology and Management, 11, 153-166. http://dx.doi.org/10.1504/IJITM.2012.044071
Leffingwell, D. (2007) Scaling Software Agility: Best Practices for Large Enterprises. Pearson Education, New York.
Boehm, B. and Turner, R. (2005) Management Challenges to Implementing Agile Processes in Traditional Development Organizations. IEEE Software, 22, 30-39. http://dx.doi.org/10.1109/MS.2005.129
Paetsch, F., Eberlein, A. and Maurer, F. (2003) Requirements Engineering and Agile Software Development. In: Null, p. 308. IEEE.
Sillitti, A. and Succi, G. (2005) Requirements Engineering for Agile Methods. In: Engineering and Managing Software Requirements, Springer Berlin Heidelberg, 309-326. http://dx.doi.org/10.1007/3-540-28244-0_14
Cockburn, A. and Highsmith, J. (2001) Agile Software Development: The People Factor. Computer, 34, 131-133. http://dx.doi.org/10.1109/2.963450
Regev, G., Gause, D.C. and Wegmann, A. (2006) Creativity and the Age-Old Resistance to Change Problem in RE. 14th IEEE International Conference Requirements Engineering, Minneapolis/St. Paul, 11-15 September 2006, 291-296. http://dx.doi.org/10.1109/re.2006.13
Boehm, B. and Turner, R. (2003) Using Risk to Balance Agile and Plan-Driven Methods. Computer, 36, 57-66. http://dx.doi.org/10.1109/MC.2003.1204376
Vinekar, V., Slinkman, C.W. and Nerur, S. (2006) Can Agile and Traditional Systems Development Approaches Coexist? An Ambidextrous View. Information Systems Management, 23, 31-42. http://dx.doi.org/10.1201/1078.10580530/46108.23.3.20060601/93705.4
Highsmith, J.A. (2002) Agile Software Development Ecosystems. Addison-Wesley Professional, Boston, Vol. 13
Ashmore, S. and Runyan, K. (2014) Introduction to Agile Methods. Addison-Wesley Professional, Boston.
Racheva, Z., Daneva, M., Sikkel, K., Herrmann, A. and Wieringa, R. (2010) Do We Know Enough about Requirements Prioritization in Agile Projects: Insights from a Case Study. 18th IEEE International Requirements Engineering Conference (RE), 147-156.
Moniruzzaman, A.B.M. and Hossain, D.S.A. (2013) Comparative Study on Agile Software Development Methodologies. arXiv preprint arXiv:1307.3356.
Kitapci, H. and Boehm, B.W. (2007) Formalizing Informal Stakeholder Decisions—A Hybrid Method Approach. 40th Annual Hawaii International Conference on System Sciences, Waikoloa, 3-6 January 2007, 283c-283c.
Polini, A. (2010) Software Requirements. http://www1.isti.cnr.it/~polini/lucidiSE/Requirements1.pdf
Sommerville, I. and Sawyer, P. (1997) Requirements Engineering: A Good Practice Guide. John Wiley & Sons, Inc., Hoboken
Pressman, R.S. (2005) Software Engineering: A Practitioner’s Approach. Palgrave Macmillan.
Sommerville, I. and Kotonya, G. (1998) Requirements Engineering: Processes and Techniques. John Wiley & Sons, Inc., Hoboken.
Pandey, D., Suman, U. and Ramani, A.K. (2010) An Effective Requirement Engineering Process Model for Software Development and Requirements Management. International Conference on Advances in Recent Technologies in Communication and Computing (ARTCom), Kottayam, 16-17 October 2010, 287-291. http://dx.doi.org/10.1109/artcom.2010.24
Nuseibeh, B. and Easterbrook, S. (2000) Requirements Engineering: A Roadmap. Proceedings of the Conference on the Future of Software Engineering, 35-46. http://dx.doi.org/10.1145/336512.336523
Zhu, Y. (2009) Requirements Engineering in an Agile Environment. Uppsala University, Uppsala.
Kavitha, C.R. and Thomas, S.M. (2011) Requirement Gathering for Small Projects Using Agile Methods. IJCA Special Issue on Computational Science-New Dimensions & Perspectives, NCCSE.
Lucia, A.D. and Qusef, A. (2010) Requirements Engineering in Agile Software Development. Journal of Emerging Technologies in Web Intelligence, 2, 212-220. http://dx.doi.org/10.4304/jetwi.2.3.212-220
Paetsch, F. (2003) Requirements Engineering in Agile Software Development. Diploma Thesis, University of Calgary University of Calgary, Alberta.
Manifesto, C.H.A.O.S. (2013) Think Big, Act Small. The Standish Group International Inc. http://versionone.com/assets/img/files/ChaosManifesto2013.pdf
Inayat, I., Salim, S.S., Marczak, S., Daneva, M. and Shamshirband, S. (2014) A Systematic Literature Review on Agile Requirements Engineering Practices and Challenges. Computers in Human Behavior, 51, 915-929.
Cao, L. and Ramesh, B. (2008) Agile Requirements Engineering Practices: An Empirical Study. IEEE Software, 25, 60-67. http://dx.doi.org/10.1109/MS.2008.1
Helmy, W., Kamel, A. and Hegazy, O. (2012) Requirements Engineering Methodology in Agile Environment. International Journal of Computer Science Issues, 9, 293-300.
Jun, L., Qiuzhen, W. and Lin, G. (2010) Application of Agile Requirement Engineering in Modest-Sized Information Systems Development. Second World Congress on Software Engineering (WCSE), Wuhan, 19-20 December 2010, Vol. 2, 207-210.
Araujo, J. and Ribeiro, J.C. (2005) Towards an Aspect-Oriented Agile Requirements Approach. Eighth International Workshop on Principles of Software Evolution, 5-6 September 2005, 140-143. http://dx.doi.org/10.1109/iwpse.2005.31
Martakis, A. and Daneva, M. (2013) Handling Requirements Dependencies in Agile Projects: A Focus Group with Agile Software Development Practitioners. IEEE Seventh International Conference on Research Challenges in Information Science (RCIS), Paris, 29-31 May 2013, 1-11. http://dx.doi.org/10.1109/rcis.2013.6577679
Liu, L., Li, T. and Peng, F. (2010) Why Requirements Engineering Fails: A Survey Report from China. 18th IEEE International Requirements Engineering Conference (RE), Sydney, 27 September 2010-1 October 2010, 317-322. http://dx.doi.org/10.1109/re.2010.45
Inayat, I., Moraes, L., Daneva, M. and Salim, S.S. (2015) A Reflection on Agile Requirements Engineering: Solutions Brought and Challenges Posed. Scientific Workshop Proceedings of the XP2015, Trondheim, p. 6. http://dx.doi.org/10.1145/2764979.2764985
Soundararajan, S. and Arthur, J. D. (2009) A Soft-Structured Agile Framework for Larger Scale Systems Development. 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, San Francisco, 14-16 April 2009, 187-195. http://dx.doi.org/10.1109/ecbs.2009.21
Mulla, N. and Girase, S. (2012) Comparison of Various Elicitation Techniques and Requirement Prioritisation Techniques. International Journal of Engineering Research and Technology, 1, No. 3.
Wiegers, K. (1999) First Things First: Prioritizing Requirements. Software Development, 7, 48-53.
Papadopoulos, G. (2015) Moving from Traditional to Agile Software Development Methodologies Also on Large, Distributed Projects. Procedia—Social and Behavioral Sciences, 175, 455-463. http://dx.doi.org/10.1016/j.sbspro.2015.01.1223