Requirement Prioritization
Definition
• In order to develop cost effective quality software, it is really
necessary to select the right requirements from the set of all
requirements. It would be more beneficial if they are grouped release
wise. In this way, we can decide upon which requirements need to be
focused in any particular release
Benefits
• Constraint Driven strategy
Time and budget constraints do not allow entertaining all
requirements. Therefore, project manager can use prioritization as a
tool to help him in selection of those requirements that can be
implanted in a certain time and budget constraints.
Planning the Releases
• Prioritization helps the stakeholders decide the type of requirements
of the system and categorize them in optimal requirements sets.
Based on these optimal sets a project manager can plan the releases
of the product. In its normal flow; system’s core requirements will be
implemented in first release and based on their priority values the
next group of requirements will be implemented in successive
releases.
Balancing benefits against cost
• Before starting implementation, key stakeholders should identify
related requirements and their corresponding benefits. Similarly, each
of these requirements shall be evaluated for implementation cost.
Prioritization based on the benefit and related cost; may help the
business to balance their benefits of each requirement against the
cost of implementing it.
Negotiating conflicts:
• Conflicts between stakeholders arise because their viewpoints for
most of the requirements are different. Requirements prioritization
often involves negotiation process to handle contradictory
requirements. Therefore it also helps in resolving conflicts and
disagreement between stakeholders.
Better Understanding:
• Requirements prioritization is an expensive activity to some extent,
because it requires time, stakeholders’ involvement, experts’ opinions
meeting, etc. On the other hand it helps all the stakeholders to
understand all the requirements more closely. At the prioritization
stage, each requirement is evaluated thoroughly and their
implementation feasibility is checked. If certain requirements are
found not-feasible then alternatives can be discovered.
Prioritization Parameters
• Time
• Cost
• Penalty
• Risk
• Functionality
Prioritization Technique
• AHP
• B-Tree
• Ranking
• Top 10 requirements
• 100 dollar test
• MosCow
MosCow
• There are many popular methods that are used to decide upon the
priority of the requirements. One of the more popular ones is
the MoSCoW method. TheMoSCoW is an abbreviation for -
• M – Must
• S – Should
• C – Could
• W – Won't / Would
MosCow
Example Scenario:
An ecommerce site which will display designer wallets to choose from, add to cart
and purchase. Some of the requirements are as -
• Integration of cart and payment gateway
• Parallax design of home page
• In-poge zooming of product image
• Quick view option in product listing page
• Ability to select from different payment options
• ‘Share your purchase’ widget
• ‘Refer a friend’ functionality
• Tutorial animation to show entire process
• Blog
• User login and registration module
• Order tracking widget
• Funny game
The MoSCoW Matrix
100 dollar test
Thank you