فصلنامه تخصصی فناوری اطلاعات و ارتباطات

نوع مقاله : مقاله پژوهشی

نویسنده

دانشگاه افسری و تربیت پاسداری امام حسین علیه السلام

چکیده

چالش‌های توسعه نرم‌افزار با استفاده از روش چابک با تمرکز بر الزامات غیر عملکردی، یکی از مسائل مهم در حوزه مهندسی نرم‌افزار است. الزامات غیر عملکردی شامل مواردی مانند کارایی، امنیت، قابلیت استفاده، قابلیت نگهداری و قابلیت توسعه هستند که در طراحی و توسعه نرم‌افزار بسیار حائز اهمیت هستند. با وجود این، در روش چابک، چالش‌هایی برای ادغام الزامات غیر عملکردی با الزامات عملکردی وجود دارد و همچنین بررسی و ارزیابی این الزامات در طول فرآیند توسعه نرم‌افزار بسیار مهم است. نیازمندی ها و الزامات غیر عملکردی(NFR) اغلب به عنوان یک مسئله مشکل ساز گزارش می‌شود .NFR ها مولفه های کیفی می باشند که بر روی انتظارات متمرکز می شوند و در حقیقت برای داشتن سیستم کاربری بهینه و آسان به ما کمک می کنند که دارای کارایی و بازده قابل قبولی باشد.
در بررسی های به عمل آمده دانش ناکافی ، شایستگی پایین کارکنان به ویژه از نظر مهارت های تحلیلی و تجربه حرفه ای آنها ازجمله مولفه های شناسایی شده نادیده انگاری NFR شناسایی شده است . هدف ما در این مقاله شناسایی چالش‌ها و مشکلاتی است که بر اجرای NFR ها تأثیر می‌گذارند و شیوه هایی که اجرای موفقیت آمیز NFR ها را تسهیل می کنند .

کلیدواژه‌ها

عنوان مقاله [English]

Examining the challenges of software development in an agile way, focusing on non-functional requirements

نویسنده [English]

  • morteza yazdanpanah

Imam Hussain (peace be upon him) officer and guard training university

چکیده [English]

In this article, the challenges of software development in the agile method were examined by focusing on non-functional requirements. Non-functional requirements are an important research area that mainly occurs due to the frequency of project failures caused by ignoring the qualitative characteristics related to user values. In the investigations carried out, the increase in development cost and time, the decrease in system flexibility, the increase in complexity and the problems of maintenance and subsequent development, and finally the increase in security risks and software errors, including the damage of neglecting non-functional requirements, have been identified. Effective coordination and cooperation between development groups and other stakeholders have also been identified. It is very important. By following the best practices and non-functional requirements management methods, you can have a significant improvement in the software development process in an agile way with higher accuracy and quality. The study field of software engineering is considered as one of the attractive and practical fields. Undoubtedly, the research conducted in this field will expand day by day and will provide better results. Among the proposed fields for further relevant studies in this field, we can mention the examination of agile management models and methods and improvement of development processes.

کلیدواژه‌ها [English]

  • Software development
  • non-functional requirements
  • quality components. َAgile Method
[1]           Amjad, S., et al., Calculating completeness of agile scope in scaled agile development. IEEE Access, 2017. 6: p. 5822-5847.
[2]           Adnan, M. and M. Afzal, Ontology based multiagent effort estimation system for scrum agile method. IEEE Access, 2017. 5: p. 25993-26005.
[3]           Strandberg, P.E., et al., Information flow in software testing–an interview study with embedded software engineering practitioners. IEEE Access, 2019. 7: p. 46434-46453.
[4]           Tjørnehøj, G., M. Fransgård, and S. Skalkam. Trust in agile teams in distributed software development. in Proceedings of the 35th Information Systems Research Seminar in Scandinavia. 2012.
[5]           Martin, R.C., The principles, patterns, and practices of agile software development. 2002, Prentice Hall.
[6]           Roy, S., A. Raju, and S. Mandal, An empirical investigation on e-retailer agility, customer satisfaction, commitment and loyalty. Business: Theory and Practice, 2017. 18: p. 97-108.
[7]           Diebold, P. and U. Mayer. On the usage and benefits of agile methods & practices. in International Conference on Agile Software Development. 2017. Springer, Cham.
[8]           Bjarnason, E., K. Wnuk, and B. Regnell. A case study on benefits and side-effects of agile practices in large-scale requirements engineering. in proceedings of the 1st workshop on agile requirements engineering. 2011.
[9]           Kaur, K. and A. Jajoo. Applying agile methodologies in industry projects: Benefits and challenges. in 2015 International Conference on Computing Communication Control and Automation. 2015. IEEE.
[10]         Guzmán, L., et al. How can quality awareness support rapid software development?–a research preview. in International Working Conference on Requirements Engineering: Foundation for Software Quality. 2017. Springer.
[11]         Guaman, D.S., J.M. Del Alamo, and J.C. Caiza, A systematic mapping study on software quality control techniques for assessing privacy in information systems. IEEE access, 2020. 8: p. 74808-74833.
[12]         Jarzębowicz, A. and K. Połocka. Selecting requirements documentation techniques for software projects: a survey study. in 2017 Federated Conference on Computer Science and Information Systems (FedCSIS). 2017. IEEE.
[13]         Ryan, A.J. An approach to quantitative non-functional requirements in software development. in Systems engineering–a key to competitive advantage for all industries: proceedings of the 2nd european systems engineering conference (eusec 2000), munich. 2000.
[14]         Kautz, K. Customer and user involvement in agile software development. in International Conference on Agile Processes and Extreme Programming in Software Engineering. 2009. Springer.
[15]         Jarzębowicz, A. and P. Marciniak, A survey on identifying and addressing business analysis problems. Foundations of Computing and Decision Sciences, 2017. 42: p. 315-337.
[16]         Jarzębowicz, A. and W. Ślesiński. What is troubling IT analysts? A survey report from Poland on requirements-related problems. in KKIO Software Engineering Conference. 2018. Springer.
[17]         Leffingwell, D., Agile software requirements: lean requirements practices for teams, programs, and the enterprise. 2010: Addison-Wesley Professional.
[18]         Svensson, R.B., et al., Quality requirements in industrial practice—an extended interview study at eleven companies. IEEE transactions on software engineering, 2011. 38(4): p. 923-935.
[19]         Zhang, X. and X. Wang, Tradeoff analysis for conflicting software non-functional requirements. IEEE Access, 2019. 7: p. 156463-156475.
[20]         Weichbroth, P., Delivering usability in IT products: empirical lessons from the field. International Journal of Software Engineering and Knowledge Engineering, 2018. 28(07): p. 1027-1045.
[21]         Suryawanshi, T. and G. Rao, A survey to support NFRs in agile software development process. Int. J. Comput. Sci. Inf. Technol, 2015. 6(6): p. 5487-5489.
[22]         Rosa, N.S., G.R. Justo, and P.R. Cunha. A framework for building non-functional software architectures. in Proceedings of the 2001 ACM symposium on Applied computing. 2001.
[23]         Mizouni, R. and A. Salah, Towards a framework for estimating system NFRs on behavioral models. Knowledge-Based Systems, 2010. 23(7): p. 721-731.
[24]         Hussain, A., E.O. Mkpojiogu, and F.M. Kamal, The role of requirements in the success or failure of software projects. International Review of Management and Marketing, 2016. 6(7): p. 306-311.
[25]         Kolf, F. and C. Kerkmann, Lidl software disaster another example of Germany’s digital failure. Handelsblatt Global, 2018.
[26]         Ossowska, K., et al. Exploring an ontological approach for user requirements elicitation in the design of online virtual agents. in EuroSymposium on Systems Analysis and Design. 2016. Springer.
[27]         Maxim, B.R. and M. Kessentini, An introduction to modern software quality assurance, in Software quality assurance. 2016, Elsevier. p. 19-46.
[28]         Heikkilä, V.T., et al. A mapping study on requirements engineering in agile software development. in 2015 41st Euromicro conference on software engineering and advanced applications. 2015. IEEE.
[29]         Ramesh, B., L. Cao, and R. Baskerville, Agile requirements engineering practices and challenges: an empirical study. Information Systems Journal, 2010. 20(5): p. 449-480.
[30]         Inayat, I., et al., A systematic literature review on agile requirements engineering practices and challenges. Computers in human behavior, 2015. 51: p. 915-929.
[31]         Medeiros, J., et al. Requirements Engineering in Agile Projects: A Systematic Mapping based in Evidences of Industry. in CibSE. 2015.
[32]         Farid, W.M. The Normap methodology: Lightweight engineering of non-functional requirements for agile processes. in 2012 19th Asia-Pacific software engineering conference. 2012. IEEE.
[33]         Kopczyńska, S., M. Ochodek, and J. Nawrocki, On importance of non-functional requirements in agile software projects—a survey, in Integrating Research and Practice in Software Engineering. 2020, Springer. p. 145-158.
[34]         Alsaqaf, W., M. Daneva, and R. Wieringa. Quality requirements in large-scale distributed agile projects–a systematic literature review. in International working conference on requirements engineering: foundation for software quality. 2017. Springer.
[35]         Alsaqaf, W., M. Daneva, and R. Wieringa, Quality requirements challenges in the context of large-scale distributed agile: An empirical study. Information and software technology, 2019. 110: p. 39-55.
[36]         Behutiye, W., et al. Non-functional requirements documentation in agile software development: challenges and solution proposal. in International conference on product-focused software process improvement. 2017. Springer.
[37]         López, L., et al. Agile quality requirements management best practices portfolio: A situational method engineering approach. in International Conference on Product-Focused Software Process Improvement. 2017. Springer.
[38]         Schön, E.-M., et al. Key challenges in agile requirements engineering. in International Conference on Agile Software Development. 2017. Springer, Cham.
[39]         Sachdeva, V., Requirements prioritization in agile: use of planning poker for maximizing return on investment, in Information Technology-New Generations. 2018, Springer. p. 403-409.
[40]         Zamudio, L., et al. A requirements engineering techniques review in agile software development methods. in International Conference on Computational Science and Its Applications. 2017. Springer.
[41]         Kaddoumi, T. and M. Watfa. A proposed agile enterprise architecture framework. in 2016 Sixth International Conference on Innovative Computing Technology (INTECH). 2016. IEEE.
[42]         Alhuseini, M.U. and M.M. Olama, 5G service value chain and network slicing framework using ecosystem modeling, agile delivery, and user-story automation. IEEE Access, 2019. 7: p. 110856-110873.
[43]         Mitre-Hernández, H.A., et al., Decreasing rework in video games development from a software engineering perspective, in Trends and Applications in Software Engineering. 2016, Springer. p. 295-304.
[44]         Kišš, F. and B. Rossi. Agile to lean software development transformation: A systematic literature review. in 2018 Federated Conference on Computer Science and Information Systems (FedCSIS). 2018. IEEE.
[45]         Elghariani, K. and N. Kama. Review on Agile requirements engineering challenges. in 2016 3rd International conference on computer and information sciences (ICCOINS). 2016. IEEE.
[46]         Heck, P. and A. Zaidman, A systematic literature review on quality criteria for agile requirements specifications. Software Quality Journal, 2018. 26(1): p. 127-160.
[47]         Curcio, K., et al., Requirements engineering: A systematic mapping study in agile software development. Journal of Systems and Software, 2018. 139: p. 32-50.