Agile Software Development Techniques: A Survey
Agile Software Development Techniques: A Survey
Keywords:Agile Techniques, Fast Software Development, Survey, Traditional Development Approaches
In this IT era, where there is a race of software development, it is necessary to introduce such types of software development techniques which will help the practitioners to deliver fast solutions. In the past, various traditional approaches were used for this purpose, but now agile techniques are getting more popular because conventional software development approaches are not efficient in managing the changing requirements. The agile software development process is one of the most emerging lightweight software development methodologies, which uses iterative and prototype development approaches to accommodate changes in software requirements. Final software products are delivered to the end-users in short iterations. One of the most noticeable drawbacks of agile methods is their limited courtesy to the structured and architectural design of the system. Hence this development approach will restrict small to medium design decisions only. In this paper, we have performed the analysis of different agile techniques, which will help the readers to understand their positive and negative points and select the most
appropriate technique suited to their projects.
T. Dreesen, R. Linden, C. Meures, N. Schmidt, and C. Rosenkranz. Beyond the Border: A Comparative Literature Review on Communication Practices for Agile Global Outsourced Software Development Projects. in System Sciences (HICSS), 2016 49th Hawaii International Conference on. (2016).
A. Zaitsev, U. Gal, and B. Tan, Coordination Artifacts in Agile Software Development. Information Organization. 30(2): p. 100288. (2020).
K. Suryaatmaja, D. Wibisono, and A. Ghazali, The Missing Framework for Adaptation of Agile Software Development Projects, in Eurasian Business Perspectives. Springer. p. 113-127.(2019).
C. Baham and R. Hirschheim, Issues, Challenges, and a Proposed Theoretical Core of Agile Software Development Research. Information Systems Journal. (2021).
Y. I. Alzoubi and A. Q. Gill. Agile Global Software Development Communication Challenges: A Systematic Review. in Pacific Asia Conference on Information Systems. (2014).
M. Marinho, J. Noll, I. Richardson, and S. Beecham. Plan-Driven Approaches Are Alive and Kicking in Agile Global Software Development. in 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). (2019).
Y. B. Leau, W. K. Loo, W. Y. Tham, and S. F. Tan. Software Development Life Cycle Agile Vs Traditional Approaches. in International Conference on Information and Network Technology. (2012).
W. A. Cram, Agile Development in Practice: Lessons from the Trenches. J Information Systems Management. 36(1): p. 2-14. (2019).
A. P. Veiga, Project Success in Agile Development Projects. arXiv preprint arXiv:1711.06851. (2017).
K. Petersen and C. Wohlin, A Comparison of Issues and Advantages in Agile and Incremental Development between State of the Art and an Industrial Case. Journal of systems and software. 82(9): p. 1479-1490. (2009).
M. A. Akbar, J. Sang, A. A. Khan, S. Mahmood, S. F. Qadri, H. Hu, and H. Xiang, Success Factors Influencing Requirements Change Management Process in Global Software Development. Journal of Computer Languages. 51: p. 112-130. (2019).
F. Almeida, Challenges in Migration from Waterfall to Agile Environments. World. 5(3): p. 39-49. (2017).
J. Karrenbauer, M. Wiesche, and H. Krcmar. Understanding the Benefits of Agile Software Development in Regulated Environments. in 14th International Conference on Wirtschaftsinformatik. (2019 of Conference).
M. Pikkarainen, J. Haikara, O. Salo, P. Abrahamsson, and J. Still, The Impact of Agile Practices on Communication in Software Development. Empirical Software Engineering. 13(3): p. 303-337. (2008).
R. Lal, K. Kusuma, and S. Richter. Agility Practices for Software Development: An Investigation of Agile Organization Concepts. in 30th Australasian Conference on Information Systems. (2019).
V. Holzmann and I. Panizel. Communications Management in Scrum Projects. in European Conference on Information Management and Evaluation. (2013).
A. Jarzębowicz and P. Weichbroth, A Qualitative Study on Non-Functional Requirements in Agile Software Development. IEEE Access. 9: p. 40458-40475. (2021).
S. Bock and R. S. Pusch, Application of Agile Methodology in Human Performance Technology. 2017.
E. Lozada-Martinez, J. E. Naranjo, C. A. Garcia, D. M. Soria, O. R. Toscano, and M. V. Garcia. Scrum and Extreme Programming Agile Model Approach for Virtual Training Environment Design. in 2019 IEEE Fourth Ecuador Technical Chapters Meeting (ETCM). (2019).
M. Hummel, C. Rosenkranz, and R. Holten, The Role of Communication in Agile Systems Development. Business & Information Systems Engineering. 5(5): p. 343-355. (2013).
S. Abdullahi and L. I. Bagiwa, A Review on the Process of Adoptability of Agile Methods in Software Development Practices. American Journal of Engineering Research. p. 199-207. (2019).
Z. H. Malik, An Application of Agile Principles to the Systems Engineering Lifecycle Process. 2017, The George Washington University.
P. P. Joby, Exploring Devops: Challenges and Benefits. Journal of Information Technology. 1(01): p. 27-37. (2019).
A. A. Siqueira, S. Reinehr, and A. Malucelli. Using a Statistical Method to Compare Agile and Waterfall Processes Performance. in European Conference on Software Process Improvement. (2017).
T. Kamal, Q. Zhang, and M. A. Akbar, Toward Successful Agile Requirements Change Management Process in Global Software Development: A Client–Vendor Analysis. IET Software. (2019).
T. Dingsøyr, S. Nerur, V. Balijepally, and N. B. Moe, A Decade of Agile Methodologies: Towards Explaining Agile Software Development. 2012, Elsevier.
M. Stadler, R. Vallon, M. Pazderka, and T. Grechenig, Agile Distributed Software Development in Nine Central European Teams: Challenges, Benefits, and Recommendations. International Journal of Computer Science Information Technology Vol. 11. (2019).
F. Kamei, G. Pinto, B. Cartaxo, and A. Vasconcelos. On the Benefits/Limitations of Agile Software Development: An Interview Study with Brazilian Companies. in Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering. (2017).
K. Beck, Embracing Change with Extreme Programming. Computer. 32(10): p. 70-77. (1999).
J. M. Felsing and S. R. Palmer, A Practical Guide to Feature-Driven Development. IEEE Software. 7: p. 67-72. (2002).
K. Schwaber and M. Beedle, Agile Software Development with Scrum. Vol. 1. Prentice Hall Upper Saddle River.(2002).
J. A. Highsmith, Agile Software Development Ecosystems. Addison-Wesley.(2002).
J. Stapleton, Dsdm, Dynamic Systems Development Method: The Method in Practice. Cambridge University Press.(1997).
O. Salo and P. Abrahamsson, Agile Methods in European Embedded Software Development Organisations: A Survey on the Actual Use and Usefulness of Extreme Programming and Scrum. IET Software. 2(1): p. 58-64. (2008).
Ö. Özcan-Top and F. McCaffery, To What Extent the Medical Device Software Regulations Can Be Achieved with Agile Software Development Methods? Xp—Dsdm—Scrum. The Journal of Supercomputing. 75(8): p. 5227-5260. (2019).
A. Moniruzzaman and D. S. A. Hossain, Comparative Study on Agile Software Development Methodologies. arXiv preprint arXiv:1307.3356. (2013).
P. Abrahamsson, O. Salo, J. Ronkainen, and J. Warsta, Agile Software Development Methods: Review and Analysis. arXiv preprint arXiv:1709.08439. (2017).
S. ATAWNEH, The Analysis of Current State of Agile Software Development. Journal of Theoretical Applied Information Technology. 97(22). (2019).
S. M. Saleh, S. M. Huq, and M. A. Rahman. Comparative Study within Scrum, Kanban, Xp Focused on Their Practices. in 2019 International Conference on Electrical, Computer and Communication Engineering (ECCE). (2019).
R. Narayan, Study of Various Software Development Methodologies. EPRA International Journal of Multidisciplinary Research. (2021).
A. M. Dima and M. A. Maassen, From Waterfall to Agile Software: Development Models in the It Sector, 2006 to 2018. Impacts on Company Management. Journal of International Studies. 11(2): p. 315-326. (2018).
H. Sharp and T. Hall, Agile Processes in Software Engineering and Extreme Programming. Springer.(2016).
J. A. Highsmith and J. Highsmith, Agile Software Development Ecosystems. Addison-Wesley Professional.(2002).
A. Alashqur, Towards a Broader Adoption of Agile Software Development Methods. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS. 7(12): p. 94-98. (2016).
P. Abrahamsson, O. Salo, J. Ronkainen, and J. Warsta, Agile Software Development Methods: Review and Analysis. arXiv preprint arXiv:.08439. (2017).
B. O. Egho-Promise EhigiatorIyobor, Hugah Stephen, E-Agriculture Management System (a Case Study of Aflao Ketu South Municipality in Ghana). Journal of Software Engineering and Simulation. 6(1): p. 38-49. (2020).
R. C. Martin, Agile Software Development: Principles, Patterns, and Practices. Prentice Hall.(2002).
B. Rumpe and A. Schröder, Quantitative Survey on Extreme Programming Projects. arXiv preprint arXiv:1409.6599. (2014).
F. Anwer, S. Aftab, S. M. Shah, and U. Waheed, Comparative Analysis of Two Popular Agile Process Models: Extreme Programming and Scrum. International Journal of Computer Science Telecommunications. 8(2): p. 1-7. (2017).
P. Kruchten, S. Fraser, and F. Coallier, Agile Processes in Software Engineering and Extreme Programming. Springer.(2019).
J. Shore, The Art of Agile Development: Pragmatic Guide to Agile Software Development. " O'Reilly Media, Inc.".(2007).
D. Mancl and S. D. Fraser. Xp 2019 Panel: Agile Manifesto–Impacts on Culture, Education, and Software Practices. in International Conference on Agile Software Development. (2019).
S. Mohammadi, B. Nikkhahan, and S. Sohrabi, Challenges of User Involvement in Extreme Programming Projects. International Journal of Software Engineering Its Applications. 3(1): p. 19-32. (2009).
A. Firdaus, I. Ghani, and S. R. Jeong, Secure Feature Driven Development (Sfdd) Model for Secure Software Development. Procedia-Social and Behavioral Sciences. 129: p. 546-553. (2014).
A. F. Arbain, I. Ghani, and S. R. Jeong, A Systematic Literature Review on Secure Software Development Using Feature Driven Development (Fdd) Agile Model. Journal of Internet Computing and services. 15(1): p. 13-27. (2014).
K. Pathak and A. Saha, Review of Agile Software Development Methodologies. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS. 3(2). (2013).
P. Aggarwal and R. M. Chandani, Agile Methodology Influence on Sdlc (Software Development Life Cycle). Studies in Indian Place Names. 40(50): p. 4579-4589. (2020).
S. A. K. Gahyyur, A. Razzaq, S. Z. Hasan, S. Ahmed, and R. Ullah, Evaluation for Feature Driven Development Paradigm in Context of Architecture Design Augmentation and Perspective Implications. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE APPLICATIONS. 9(3): p. 236-247. (2018).
C. Budoya, M. Kissaka, and J. Mtebe, Instructional Design Enabled Agile Method Using Addie Model and Feature Driven Development Method. International Journal of Education Development using ICT. 15(1). (2019).
M. M. Jha, R. M. F. Vilardell, and J. Narayan. Scaling Agile Scrum Software Development: Providing Agility and Quality to Platform Development by Reducing Time to Market. in Global Software Engineering (ICGSE), 2016 IEEE 11th International Conference on. (2016).
D. P. Harvie and A. Agah, Targeted Scrum: Applying Mission Command to Agile Software Development. IEEE Transactions on Software Engineering. 42(5): p. 476-489. (2016).
M. Girma, N. M. Garcia, and M. Kifle. Agile Scrum Scaling Practices for Large Scale Software Development. in 2019 4th International Conference on Information Systems Engineering (ICISE). (2019).
T. Dingsøyr, T. Dybå, M. Gjertsen, A. O. Jacobsen, T.-E. Mathisen, J. O. Nordfjord, K. Røe, and K. Strand, Key Lessons from Tailoring Agile Methods for Large-Scale Software Development. IT Professional. 21(1): p. 34-41. (2019).
M. B. Firdaus, I. M. Patulak, A. Tejawati, A. Bryantama, G. M. Putra, and H. S. Pakpahan. Agile-Scrum Software Development Monitoring System. in 2019 International Conference on Electrical, Electronics and Information Engineering (ICEEIE). (2019).
R. Vallon, B. J. da Silva Estacio, R. Prikladnicki, T. J. I. Grechenig, and S. Technology, Systematic Literature Review on Agile Practices in Global Software Development. Information Software Technology. 96: p. 161-180. (2018).
R. Banfield, C. T. Lombardo, and T. Wax, Design Sprint: A Practical Guidebook for Building Great Digital Products. " O'Reilly Media, Inc.".(2015).
L. R. Vijayasarathy and C. W. Butler, Choice of Software Development Methodologies: Do Organizational, Project, and Team Characteristics Matter? IEEE Software. 33(5): p. 86-94. (2016).
F. S. Silva, F. S. F. Soares, A. L. Peres, I. M. de Azevedo, A. P. L. Vasconcelos, F. K. Kamei, and S. R. de Lemos Meira, Using Cmmi Together with Agile Software Development: A Systematic Review. Information and Software Technology. 58: p. 20-43. (2015).
P. Lata, Agile Software Development Methods. International Journal of Computer Science. 20. (2016).
L. Rusdiana, Dynamic Systems Development Method Dalam Membangun Aplikasi Data Kependudukan Pada Kelurahan Rantau Pulut. Jurnal Transformatika. 16(1): p. 84-90. (2018).
A. Cockburn, Writing Effective Use Cases, the Crystal Collection for Software Professionals, 2000. Addison-Wesley, MA, USA, http://www.amazon.com/Writing-Effective-Cases ….
D. Turk, R. France, and B. Rumpe, Assumptions Underlying Agile Software Development Processes. arXiv preprint arXiv:1409.6610. (2014).
E. Kupiainen, M. V. Mäntylä, and J. Itkonen, Using Metrics in Agile and Lean Software Development–a Systematic Literature Review of Industrial Studies. Information and Software Technology. 62: p. 143-163. (2015).
J. Tripp and A. Aitken. Introduction to Agile and Lean Software Engineering Minitrack. in System Sciences (HICSS), 2015 48th Hawaii International Conference on. (2015).
T. Stone, M. Gershon, and H. Meyers, Investments in Lean Agile Software Development Training: The Impact on Productivity and Financial Performance. Available at SSRN 3359015. (2019).
P. Rodríguez, M. Mäntylä, M. Oivo, L. E. Lwakatare, P. Seppänen, and P. Kuvaja, Advances in Using Agile and Lean Processes for Software Development, in Advances in Computers. Elsevier. p. 135-224.(2019).
K. C. Kodali. Development of Web Based Application for Supply Chain Management. in n Proceedings of the 19th Panhellenic Conference on Informatics. (2015). (2016 of Conference).
D. Karagiannis. Agile Modeling Method Engineering. in Proceedings of the 19th Panhellenic Conference on Informatics. (2015).
N. Santos, J. Pereira, F. Morais, J. Barros, N. Ferreira, and R. J. Machado, An Agile Modeling Oriented Process for Logical Architecture Design, in Enterprise, Business-Process and Information Systems Modeling. Springer. p. 260-275.(2018).
M. Amir, K. Khan, A. Khan, and M. Khan, An Appraisal of Agile Software Development Process. International Journal of Advanced Science & Technology. 58(56): p. 20. (2013).
N. Santos, J. Pereira, F. Morais, J. Barros, N. Ferreira, and R. J. Machado. Incremental Architectural Requirements for Agile Modeling: A Case Study within a Scrum Project. in Proceedings of the 19th International Conference on Agile Software Development: Companion. (2018).
Sukasi, Agile Modeling (Am) - Product Development. (2017).
F. Mognon and P. C. Stadzisz. Modeling in Agile Software Development: A Systematic Literature Review. in Brazilian Workshop on Agile Methods. (2016).
J. Highsmith, Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. Addison-Wesley.(2013).
A. Agovic and A. Agovic, Universal and Adaptive Software Development Platform for Data-Driven Applications. 2016, Google Patents.
A. F. Chowdhury and M. N. Huda. Comparison between Adaptive Software Development and Feature Driven Development. in Proceedings of 2011 International Conference on Computer Science and Network Technology. (2011).
Kanban and Adaptive Software Development. (2013).
N.-T. Huynh, M.-T. Segarra, and A. Beugnard. A Development Process Based on Variability Modeling for Building Adaptive Software Architectures. in 2016 Federated Conference on Computer Science and Information Systems (FedCSIS). (2016).
H. Lei, F. Ganjeizadeh, P. K. Jayachandran, and P. Ozcan, A Statistical Analysis of the Effects of Scrum and Kanban on Software Development Projects. Robotics and Computer-Integrated Manufacturing. 43: p. 59-67. (2017).
I. Shamshurin and J. S. Saltz, Using a Coach to Improve Team Performance When the Team Uses a Kanban Process Methodology. Governance, governmentality project performance: the role of sovereignty. 7(2): p. 61-77. (2019).
J. Saltz and R. Heckman, Exploring Which Agile Principles Students Internalize When Using a Kanban Process Methodology. Journal of Information Systems Education. 31(1): p. 51. (2020).
K. Bhavsar, V. Shah, and S. Gopalan, Scrumbanfall: An Agile Integration of Scrum and Kanban with Waterfall in Software Engineering. International Journal of Innovative Technology Exploring Engineering. 9(4): p. 2075-2084. (2020).
Slideteam, Agile Kanban. Romanian Journal of Information Technology and Automatic Control. 29(4): p. 7-16. (2019).