Abstract

One of most common aspect with traditional software development is managing requirements. As requirements emerge throughout the software development process and thus are needed to be addressed through proper communication and integration between stakeholders, developers and documentation. Agile methodology is an innovative and iterative process that supports changing requirements and helps in addressing changes throughout the development process. Requirements are elicited at the beginning of every software development process and project (product) and latter are prioritized according to their importance to the market and to the product itself. One of the most important and influencing steps while making a software product is requirements prioritization. Prioritizing requirements helps the software team to understand the existence and importance of a particular requirement, its importance of use and its urgency to time to market. There are many requirements prioritization techniques with their relative strength and weaknesses. Otherwise many of them fail to take account all the factors that must be considered while prioritizing requirements such as cost, value, risk, time to market, number of requirements and effect of non-functional requirements on functional requirements. There are several requirements prioritization methodologies that aid in decision making but importantly many lacks to account the important factors that have significant influence in prioritizing requirements. A requirement prioritization methodology based on several factors such as time to market, cost, risk etc has been proposed. The proposed model is expected to overcome this lack. In sprints, requirements will be prioritized both on the basis of influencing factors such as cost, value, risk, time to market etc. and through the effect of non-functional requirements over functional requirements. This will improve the overall quality of software product when it is included in the development process of scrum. Requirements will not only be prioritized based on sprints, human decision but by critically analyzing the factors (sub characteristics) that can cause the product to success/ fail repeatedly thus ensuring the consistency in right requirements and hence the right prioritized requirements will be selected for a particular sprint at a time.

Highlights

  • Traditional requirement engineering does not support changing requirements and continuous communication with stakeholders problems arise when new requirements are evolved due to change in business needs and time to market [4] [3] [1]

  • The traditional requirements engineering is very time consuming and requires speedy process to timely meet the needs of market so modern software industry demands rapid and iterative process like agile development to cope with the changing requirements and time

  • As requirements emerge throughout the software development process and requirements are needed to be prioritized and managed with highest priority, especially when the scenario is that of Agile Software Development process

Read more

Summary

INTRODUCTION

Traditional requirement engineering does not support changing requirements and continuous communication with stakeholders problems arise when new requirements are evolved due to change in business needs and time to market [4] [3] [1]. Scrum meetings are not more than 15 minutes, where product owner (PO) gets continuous updates about the development process and can provide feedback about the features being included This way if a PO decides to add new feature to a sprint, he/she can discuss it with the development team and save time rather than reviewing it at the end and demanding change at the end. The team conducts a sprint review at the end of each sprint where they demonstrate new features and functionality to the PO or to other stakeholders that can provide any kind of feedback which could be beneficial or helpful in any way for the sprint This loop of feedbacks results in modifications to the recently delivered functionality, again it is more likely reviewing or adding new requirements to the product backlog. Requirements will be prioritized based on human decision but by critically analysing the factors that can cause the product to fail/success repeatedly ensuring the consistency in right requirements for a particular sprint at a time

Agile Requirement Engineering
Requirements Prioritization Techniques
FRAMEWORK FOR REQUIREMENTS PRIORITIZATION
METHODOLOGY
CONCLUSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call