You are on page 1of 6

Prioritizing Techniques

Syed Qarab Zahoor BSE173019

Asad Saddique BSE173063

Muhammad Qasim BSE173059

OCTOBER 28, 2019


SUBMITTED TO:
MUDASSAR ADEEL
Describe The Roles

Role Description

Project Manager Responsible for planning and estimating the prototyping project

Requirements Responsible for eliciting and specifying the system


Engineer requirements

Domain Expert Responsible for proving information about the application


domain and the specific problem in that domain, which is to be
solved

Software Engineer Responsible for developing the prototype software system

System End- user Responsible for using the system after delivery

2. Prioritizing Techniques

Introduction

In software construction, often comes a circumstances where decision among numerous choices
are made. Firesmith [1] notice that software system made of hundreds or thousands of software
requirements. Due to limited resources in terms of time, budget and other resources which are
considered during development of software and to get customer satisfaction we need to prioritize
software requirements. As all the requirements can’t be programmed in a single increment, also
we don’t know which requirements are of higher priority regarding customer satisfaction and
which are not. In software development, if their involve only one stakeholder it make it easy to
recognize high priority and less priority requirement but when the number of stakeholder
increases, in the development of software the case becomes for complex to recognize high and
less priority requirements. Different stakeholders have their opinions to implement requirements,
one requirement will be of higher priority to one stakeholder and the same requirement will be of
lesser priority to other stakeholder. Requirement prioritization helps different stakeholders to
agree upon requirements.

Prioritizing Methods

Some necessary methods of software requirements prioritization have been describe below in
this section, which shows us that how basic requirements can be prioritize.

1. Ranking

When you rank requirements on an ordinal scale, you give each one a different numerical value
based on its importance. For example, the number 1 can mean that the requirement is the most
important and the number n can be assigned to the least important requirement, n being the total
number of requirements.

Conclusion:

This method works best when you are dealing with a single stakeholder as it can be difficult to
align different stakeholders’ perspectives on what the priority of a requirement should be; taking
an average can however, address this problem to some extent.

2. Numerical Assignment (Grouping)

Numerical Assignment is fundamental technique for requirement prioritization in which several


groups of requirements prioritization are made and then requirements are assigned to one of
these groups on the bases of their priority. Different groups made in numerical assignment may
be differing but few of them are same.

This method is based on grouping requirements into different priority groups with each group
representing something stakeholders can relate to. For example, requirements can be grouped
into critical priority, moderate priority and optional priority. Stakeholders may also classify
requirements as compulsory, very important, rather important, not important, and does not
matter in order to describe their importance.

One disadvantage to this, however, is the fact that requirements in each group will then have the
same priority with no unique priority assigned per requirement.

Conclusion:

when requirements are assign to any of the group in numerical assignment, then priority of each
requirement inside that group will be same.

3. Hundred Dollar Method

The Cumulative voting method which is also called as Hundred Dollar prioritization method
mentioned in [2, [3], [4], is also an easy requirement prioritization method. In the hundred
dollars technique 100 points (hours, money etc) are disposed to the stake holders to divide the
100 points amongst the requirements. Then every stake holder disposes the points among the
requirements on the basis of its composition. For example if there are 100 points distributed to
the every stake holder and there are 5 requirements to prioritize , so that every stake holder has
an option to dispose 20 points to every requirement , or may issue all of the 100 points to a single
requirement considering it the most significant requirement.
Conclusion:
This method has a drawback when there are too many requirements, then this method will not
perform well, and prioritization miscalculated, and the points do not add up to 100. It can also
be difficult to keep track of how much has been assigned and what amount is left to dispose of.

This technique should only be used when you have a small group of requirements to prioritize
and when you have the same set of requirements to prevent respondents from influencing their
results by assigning more dollars to their favorite requirement.

4. Analytic Hierarchy Process (AHP)

The most complex level software requirements are located on the apex of hierarchy and the most
accurate level requirements are located at the base of hierarchy.
Analytic hierarchy process is a famous requirement prioritization method. Analytic hierarchy
process has been presented by Saaty [5]. In AHP, initially whole requirements are recognized
and then criteria under which these requirements will be preferred. In AHP we pair wise
analyzing between the probable pairs of the hierarchy. Now users can recognize the possible
relationship between the hierarchies. We then pair wise analyze them and users can select its
preferences from the scale which ranges from 1 to 9.

Once the hierarchy is built, decision-makers evaluate the elements by comparing pairs to each
other. The total number of comparisons recommended with AHP are n × (n-1)/2 (where n is the
number of requirements) at each hierarchy level. Participants make judgments (sometimes based
on data) about the relative importance of each element. Numerical values (based on priorities)
can then be assigned to each element of the hierarchy.

Conclusion:

This method is not suitable for a high number of requirements as the number of requirements
determine the number of comparisons that need to be made.

Which one is the best?

So, which prioritization technique is best? It depends on project or system that is to be


developed. The one that fits your needs the most and accomplishes your goals in the least
amount of time and with a minimal amount of resources.
Choose the requirements prioritization technique that best suits your need and start prioritizing
your requirements.

In our evaluation we have concluded that AHP is the most promising method amongst the
requirements prioritizations methods. AHP produce most reliable results which are based on
ratio scale. AHP are fault tolerant. AHP includes consistency check. Karlsson [5] have
suggested AHP as the best method, While doing requirement prioritization thorough AHP, the
participants will clearly and completely understand the requirements first, have to know the
relationship amongst the requirements and criteria, under which these requirements will be
prioritize. So the system will be clear to the participants and can easily and effectively calculate
the priority of the requirements. To produce the better results AHP need greater comparisons,
this is problematic when the project becomes large. So tool support is needed to overcome this
problem.

REFERENCES

[1] Firesmith, prioritizing requirement, journal of object technology ed. Berlin, Germany:
Springer-verlag, 2004

[2] H. Goldstein, Who killed the virtual case file? IEEE spectrum, Tech Rep. 42, Sept 2005.

[3] IEEE-STD 830-1998, “IEEE recommended practice for software requirement


specifications.”, IEEE computer society

[4] Dsdm Public version 4.2, from www.dsdm.org, Tech. Rep., Retrieved, 6 June, 2009.

[5] D. Leffingwell & D. widring, managing software requirements - A unified approach, upper
Saddle River: Addison- Wesley.

You might also like