
Requirement Prioritization Techniques in Software Engineering
Learn the significance of prioritizing requirements in software engineering through a comprehensive guide that covers prioritization techniques, tools, and best practices. Explore the importance of balancing project constraints, engaging stakeholders, and considering various factors like customer value, business risk, and market advantage. Prioritize effectively to deliver successful software projects.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Chapter 16 First things first: Setting requirement priorities EECS812: Software Requirements Engineering Professor Hossein Saiedian
The chapter will help you To know the importance of prioritizing requirements To know prioritization techniques By presenting a spreadsheet tool for prioritization analysis based on value, cost, and risk EECS812: Software Requirements Engineering 2
Why prioritize requirements? Way to deal with competing demands for limited resources A critical strategy for agile projects that develop products through a series of fixed- schedule timeboxes Project manager must balance the desired project constraints Prioritization is a dynamic and ongoing process EECS812: Software Requirements Engineering 3
Some prioritization pragmatics To keep number of requirements manageable, choose appropriate level of abstraction for prioritization Don t lose sight of the low-priority requirements Various stakeholders need to participate in prioritization One ultimate decision maker required Prioritization can include considerations of Customer value, business value, business or technical risk, cost, difficulty of implementation, time to market, regulatory or policy compliance, competitive marketplace advantage, and contractual commitments EECS812: Software Requirements Engineering 4
Successful prioritization involves The needs of the customers The relative importance of requirements to the customers The timing at which capabilities need to be delivered Requirements that serve as predecessors for other requirements and other relationships among requirements Which requirements must be implemented as a group The cost to satisfy each requirement EECS812: Software Requirements Engineering 5
Games people play with priorities To prioritize some requirements as low following questions could be asked, Is there some other way to satisfy the need that this requirement addresses? What would the consequences be of omitting or deferring this requirement? What effect would it have on the project s business objectives if this requirement weren t implemented for several months? Why might a customer be unhappy if this requirement were deferred to a later release? Is having this feature worth delaying release of all of the other features with this same priority? EECS812: Software Requirements Engineering 6
Some prioritization techniques In or out Pairwise comparison and rank ordering Three-level scale MoSCoW $100 EECS812: Software Requirements Engineering 7
Assessing priority in two dimensions EECS812: Software Requirements Engineering 8
Multipass prioritization EECS812: Software Requirements Engineering 9
Prioritization based on value, cost, and risk Quality Function Deployment (QFD) Spreadsheet model for prioritization EECS812: Software Requirements Engineering 10
Steps to use spreadsheet prioritization model List in the spreadsheet all the features Let customer representatives estimate the relative benefit of each feature Estimate the relative penalty Spreadsheet calculation Let developers estimate the relative cost of implementation Let developers rate the relative technical risk Priority value calculation Sort the list EECS812: Software Requirements Engineering 11
Summary Importance of prioritization of requirements Prioritization techniques to build products that deliver the maximum business value with the minimum cost Spreadsheet priority model whose usefulness limited to team s ability to estimate EECS812: Software Requirements Engineering 12