scholarly journals Requirement Engineering Challenges in Agile Software Development

2021 ◽  
Vol 2021 ◽  
pp. 1-18
Author(s):  
Aqsa Rasheed ◽  
Bushra Zafar ◽  
Tehmina Shehryar ◽  
Naila Aiman Aslam ◽  
Muhammad Sajid ◽  
...  

Agile software development has large success rate due to its benefits and promising nature but natively where the size of the project is small. Requirement engineering (RE) is crucial as in each software development life cycle, “Requirements” play a vital role. Though agile provides values to customer’s business needs, changing requirement, and interaction, we also have to face impediments in agile, many of which are related to requirement challenges. This article aims to find out the challenges being faced during requirement engineering of agile projects. Many research studies have been conducted on requirement challenges which are somehow biased, no suggestions are given to improve the agile development process, and the research does not highlight large-scale agile development challenges. Hence, this article covers all the challenges discussed above and presents a comprehensive overview of agile models from requirement engineering perspective. The findings and results can be very helpful for software industry to improve development process as well as for researchers who want to work further in this direction.

2017 ◽  
Vol 10 (13) ◽  
pp. 143 ◽  
Author(s):  
Jayasudha R ◽  
Viswanathan V ◽  
Shanthi P

The concept of reuse is applied in one of the agile development methodologies called the scrum. Sprint is a single functionality and the result at the end of the sprint functionality is derived as the shippable or bugs. This paper makes an attempt to use the concept of reuse in the agile software development to meet the dynamic change of customer requirements in banks. A banking project is created using both waterfall model and scrum model, and the knowledge gained is stored in the ontology-based repository for the first time. Again, the same project is created for different vendors using the ontology-based repository. The result shows that maximum sprint is reused and all the knowledge gained is stored in the form of ontology. This ontology helps identify the shippable component of each sprint which is a small executable functionality. This leads to less cost and time to deliver the product. The main aim is to increase the availability of the reusable artifacts, which lead to increase the reusability of the developer. The experimental results show improvements in the performance of retrieving the components for the software development.  


Electronics ◽  
2021 ◽  
Vol 10 (19) ◽  
pp. 2341
Author(s):  
Rashid Ali Khan ◽  
Muhammad Faisal Abrar ◽  
Samad Baseer ◽  
Muhammad Faran Majeed ◽  
Muhammad Usman ◽  
...  

Agile software development methodologies have become the most popular software development methods in the last few years. These methodologies facilitate rapid development. The low cost and prioritized user satisfaction make these methodologies more attractive. These methodologies were also intended for small scale developmental teams. Therefore, challenges were encountered when these methodologies were used in large-scale development teams. This study was based on the identification of factors which were discovered in our previous study. Some of the factors included “leadership strong commitment and team autonomy”, “cooperative organizational culture”, and “team competency—agile development expertise”. A total of 147 practices were identified in this study via a systematic literature review. These practices will help practitioners and project managers to adopt agile software methodologies and encourage them to the enhance them.


Author(s):  
Michael Riesener ◽  
Christian Doelle ◽  
Sebastian Schloesser ◽  
Guenther Schuh

Abstract Agile development processes such as Scrum have been successfully applied in the software industry for many years. Based on experience, industrial practitioners indicate three predominant benefits of agile development processes compared to traditional software development processes. First of all, development results better fit customers’ and other stakeholders’ needs. That is because they are intensively involved in the development process by receiving, applying and assessing functional software increments in a defined cadence throughout the development process. Secondly, agile development processes better cope with unexpected changes in the development process due to the built-in process flexibility. Lastly, development speed has significantly increased in most of the agile software development projects, resulting in a shorter time-to-market. Especially in the context of radical innovations for technical systems, manufacturing companies are striving for approaches to optimize their development processes in a similar direction. Traditional plan-oriented development approaches such as VDI 2221 or Cooper’s Stage-Gate Process turn out to be insufficiently customer oriented, too inflexible and project duration is usually too long to reach an adequate time-to-market. For that reason, a large community in academia and industrial practice is developing and implementing approaches to adapt agile software development practices for the development of technical systems. However, a current study in industrial practice reveals that out of 23 objectives, that are expected when introducing agile development processes to technical systems, the three objectives mentioned above, show the largest negative deviations from expected benefit to realized benefit. Therefore, the overall goal of this research is to address these gaps by developing an explicit methodological approach for an agile development of technical systems. It turns out, that mainly the role of prototyping and the way product specifications are handled during the development process change significantly in the course of introducing agility to development of technical systems. Agile practitioners strive to not necessarily define product specifications comprehensively upfront, as it is postulated in plan-oriented development processes. In contrast, product specifications, which are of major importance to the overall development project, are specified and validated with customers and other stakeholders in early prototypes. Therefore, prototypes are realized in a defined cadence throughout the development process to gradually specify and validate the product. However, the way product specifications are prioritized and selected in the development of technical systems has to differ substantially from the general way Scrum or other existing agile development processes propose. That is because technical systems are characterized by multiple technical interrelations, resulting in informational dependencies for the development process. For that reason, a prioritization along criteria such as customer value, development effort and risk seems too narrow in the context of technical systems. In fact, the prioritization of product specifications has to consider both, the value being generated by their realization as well as the informational dependencies towards other specifications. Furthermore, when designing a prototype, time constraints need to be particularly considered due to lead times in parts delivery and prototype production. Therefore, this paper introduces a methodology to prioritize and select technical design parameters in agile development processes. The methodology can be applied in the cyclical sprint planning that aims at defining the scope of the next prototype to be developed. As outlined above, the major paradigms of value generation, informational dependencies as well as lead-time and effort are crucial when adapting agile for technical systems and are consequently implemented in the methodology. These paradigms are operationalized to explicitly address the mentioned major objectives of agile development processes, which are currently showing are large gap between expected benefit and realized benefit in industrial practice. The methodology is applied to the real development process of an RGB laser light source for digital cinema projectors, which is summarized as a case study in the paper. Insights from this application are equally discussed as the resulting next steps in further developing and aligning the methodology to the needs of industrial practice.


Author(s):  
Rajani Dixit ◽  
Brij Bhushan

In a traditional software development process such as the Waterfall Model, works best in a stable environment. But, it is not flexible when it comes to change. There is a gap in the interaction between the users and the development team which leads to incomplete and misunderstood specification. Because of this, the end product is sometimes a surprise to users and this gap accelerates incorrect development of the software product. Once requirements are frozen there is no scope of accepting changes. There is a need for a framework which holds the solution for all these situations. With this premise, the agile development methodology came into existence. Scrum, an agile approach supports continuous collaboration among the customer, team members, and other stakeholders. Its time-boxed approach and continuous feedback from the product owner ensures the development of working product with essential features at all the time. This paper explains the agile software development approach, its proclamation and different frameworks of agile approach. Further illustrate most widely used framework: Scrum. This research paper covers the implementation and application of Scrum. It focuses on why Scrum is preferred over the Waterfall Model with the help of some survey results and later a discussion on some Scrum Metrics which will be helpful and accounting for the best Scrum Practices in achieving goals set by the software development team, the product owner and the customers. The outcome of this study shows that Scrum Metrics is critical and highly valuable for successful product development. The quantitative insight that these metrics provide for the Scrum Team, Product Owner and Stakeholders is necessary for achieving strong project dynamics and optimal results.


2020 ◽  
Vol 5 (1) ◽  
pp. 15-27
Author(s):  
Khaled AbdElazim Muhammad ◽  
◽  
Ramadan Moawad ◽  
Essam Elfakharany ◽  
◽  
...  

Requirements engineering is a crucial phase of software engineering, and requirements prioritization is an essential stage of requirements engineering particularly in agile software development. Requirements prioritization goals at eliciting which requirements of software need to be covered in a particular release. The key point is which requirement will be selected in the next iteration and which one will be delayed to other iterations for minimizing risk during development and meeting stakeholders’ needs. There are many existing techniques for requirement prioritization, but most of these techniques do not cover continuous growth, change of requirements, and requirements dependencies. The prioritization techniques need to be more continuous, scalable, implemented easily and integrated with software development life cycle. This paper introduces a supporting tool for a proposed framework to prioritize requirements in agile software development. This framework tries to find solutions for the challenges facing this prioritization process such as how to make this prioritization continuous and scalable and how to deal with rapidly requirement changes and its dependencies. The proposed framework is validated in a real case study using its supporting tool, and the results are promising


Sign in / Sign up

Export Citation Format

Share Document