4,709 research outputs found

    Requirement Prioritization Decision Factors for Agile Development Environments

    Get PDF
    In an agile development environment, project planners continuously prioritize work tasks so requirements that provide the most value are delivered first. This strategy is based on Value Based Software Engineering principles that different requirements deliver different levels of value and diverse stakeholders view the importance of the value of various requirements differently and thus, will prioritize them differently. However, we found that there are several core values that stakeholders have more agreement in terms of relevancy and importance than others. By knowing these core values, project planners have increased insights as to which requirements should be prioritized higher, hence, hopefully increasing overall stakeholder satisfaction and reducing project risk

    Customising software products in distributed software development a model for allocating customisation requirements across organisational boundaries

    Get PDF
    Requirements engineering plays a vital role in the software development process. While it is difficult to manage those requirements locally, it is even more difficult to communicate those requirements over organisational boundaries and to convey them to multiple distribution customers. This paper discusses the requirements of multiple distribution customers empirically in the context of customised software products. The main purpose is to understand the challenges of communicating and allocating customisation requirements across distributed organisational boundaries. We conducted an empirical survey with 19 practitioners, which confirmed that communicating customisation requirements in a DSD context is a significant challenge. We therefore propose a model for allocating customisation requirements between a local, customer-based agile team and a distributed development team that uses a traditional development approach. Our conjecture is that the model would reduce the challenge of communicating requirements across organisational boundaries, address customers’ requirements and provide a focus for future empirical studies

    A Framework for Requirements Prioritisation Process in an Agile Software Development Environment: Empirical Study

    Get PDF
    User requirements are in high demand due to advancements of technology and business needs. Therefore it is extremely difficult to achieve user requirements at one single time. Agile methods have been introduced to mitigate such issues by implementing user requirements incrementally and iteratively. The top significant aspect in agile development is selecting a group of prominent requirements to be implemented in iteration. This could be derived from continuous requirements prioritisation (RP). To assign which requirements should be selected by practitioners is considered one of the obstacles faced in the process of implementing the inter-iteration period.  This study aimed to identify the RP elements and factors that should be considered through the RP process in agile software development. The elements and factors were identified through a review of previous studies and in-depth interviews involving 18 agile practitioners from different software development organizations in different countries (i.e., Malaysia and Jordan), over a period of 2 years. To get the best result, the data is analyzed by using grounded theory techniques (Open, Axial and Selective coding). The elements and factors from the RP process will guide practitioners to an effective RP process that can produce high quality requirements, which are expected to meet the needs of the intended users

    Toward collisions produced in requirements rankings: A qualitative approach and experimental study

    Full text link
    Requirements prioritization is an important issue that determines the way requirements are selected and processed in software projects. There already exist specific methods to classify and prioritize requirements, most of them based on quantitative measures. However, most of existing approaches do not consider collisions, which are an important concern in large-scale requirements sets and, more specifically, in agile development processes where requirements have to be uniquely selected for each software increment. In this paper, we propose QMPSR (Qualitative Method for Prioritizing Software Requirements), an approach that features the prioritization of requirements by considering qualitative elements that are related to the project's priorities. Our approach highlights a prioritization method that has proven to reduce collisions in software requirements rankings. Furthermore, QMPSR improves accuracy in classification when facing large-scale requirements sets, featuring no scalability problems as the number of requirements increases. We formally introduce QMPSR and then define prioritization effort and collision metrics to carry out comprehensive experiments involving different sets of requirements, comparing our approach with well-known existing prioritization methods. The experiments have provided satisfactory results, overcoming existing approaches and ensuring scalabilityThis work was partially supported by the Spanish Government [grant number RTI2018-095255-B-I00 ] and the Madrid Research Council [grant number P2018/TCS-4314

    Understanding requirements dependency in requirements prioritization: a systematic literature review

    Get PDF
    Requirement prioritization (RP) is a crucial task in managing requirements as it determines the order of implementation and, thus, the delivery of a software system. Improper RP may cause software project failures due to over budget and schedule as well as a low-quality product. Several factors influence RP. One of which is requirements dependency. Handling inappropriate handling of requirements dependencies can lead to software development failures. If a requirement that serves as a prerequisite for other requirements is given low priority, it affects the overall project completion time. Despite its importance, little is known about requirements dependency in RP, particularly its impacts, types, and techniques. This study, therefore, aims to understand the phenomenon by analyzing the existing literature. It addresses three objectives, namely, to investigate the impacts of requirements dependency on RP, to identify different types of requirements dependency, and to discover the techniques used for requirements dependency problems in RP. To fulfill the objectives, this study adopts the Systematic Literature Review (SLR) method. Applying the SLR protocol, this study selected forty primary articles, which comprise 58% journal papers, 32% conference proceedings, and 10% book sections. The results of data synthesis indicate that requirements dependency has significant impacts on RP, and there are a number of requirements dependency types as well as techniques for addressing requirements dependency problems in RP. This research discovered various techniques employed, including the use of Graphs for RD visualization, Machine Learning for handling large-scale RP, decision making for multi-criteria handling, and optimization techniques utilizing evolutionary algorithms. The study also reveals that the existing techniques have encountered serious limitations in terms of scalability, time consumption, interdependencies of requirements, and limited types of requirement dependencies

    Agile quality requirements management best practices portfolio : a situational method engineering approach

    Get PDF
    Management of Quality Requirements (QRs) is determinant for the success of software projects. However, this management is currently under-considered in software projects and in particular, in agile methods. Although agile processes are focused on the functional aspects of the software, some agile practices can be beneficial for the management of QRs. For example, the collaboration and interaction of people can help in the QR elicitation by reducing vagueness of requirements through communication. In this paper, we present the initial findings of our research investigating what industrial practices, from the agile methods, can be used for better management of QRs in agile software development. We use Situational Method Engineering to identify, complement and classify a portfolio of best practices for QR management in agile environments. In this regard, we present the methodological approach that we are applying for the definition of these guidelines and the requirements that will lead us to compile a portfolio of agile QR management best practices. The proposed requirements correspond to the whole software life cycle starting in the elicitation and finalizing in the deployment phases.Peer ReviewedPostprint (author's final draft

    Situation-oriented requirements engineering

    Get PDF
    The establishment of smart environments, Internet of Things (IoT) and socio-technical systems has introduced many challenges to the software development process. One such main challenge is software requirements gathering which needs to address issues in a broader spectrum than traditional standalone software development. Consideration of bigger picture that includes software, its domain, the components of the domains and especially the interactions between the software and the surrounding domain components, including both human and other systems entities, is essential to gathering reliable requirements. However, most of the traditional Requirements Engineering approaches lack such comprehensive overlook of the overall view. The main objective of this work is to introduce a human-centered approach to Requirements Engineering in order to push the boundaries of traditional concepts to be more suitable for use in the development of modern socio-technical systems in smart environments. A major challenge of introducing a human-centered approach is to effectively identify the related human factors; especially, since each individual has unique desires, goals, behaviors. Our proposed solution is to use the observational data sets generated by smart environments as a resource to extract individual\u27s unique personalities and behaviors related to the software design. The concept of situations defined in our earlier study is used to represent the human and domain related aspects including human desires, goals, beliefs, interactions with the system and the constrained environment. In the first stage of this work, a computational model called situation-transition structure is developed to understand the discrete factors and behavior patterns of individuals through the observational data. During the second stage, the information mined from the situation transition structure is applied to propose new human-centered approaches to support main Requirements Engineering concepts: requirements elicitation, risk management, and prioritization. The pertinence of the proposed work is illustrated through some case studies. The conclusion asserts some of the future research direction
    corecore