In recent times, there is a paradigm shift from the use of paper based systems to the use of software systems in all spheres of life. However, the development of high quality, cost effective and useable software systems is a major challenge. One of the major obstacles confronting the successful implementation of software systems is the inability to implement all stakeholders' requirements in software development projects. This constraint is usually due to limited human resources, budget and time. Thus, most software systems have failed. It, therefore, becomes pertinent to prioritize software requirements. Requirement prioritization involves the selection of requirements that are considered more important from an accumulated list of stakeholders' requirements. There are two techniques that are used for categorizing software requirements. These techniques include the requirement prioritization methods and the negotiation methods. Requirement prioritization methods are based on different scales which include nominal scale, ordinal scale and ratio scale. The accuracy of these methods, however, is a challenge especially when prioritizing large number of requirements.
Aims: Hence, this paper reviews different techniques for prioritizing requirements by highlighting their strengths and weaknesses. Techniques such as binary search tree, AHP, hierarchy AHP, priority group/Numerical Analysis, bubble sort, MoSoW, simple ranking and Planning Game were analyzed and compared in this study.
Methodology: The study is based on previous literature on requirement prioritization.
Results: The study showed that numerical assignment and simple ranking methods require less time in the prioritization process and they also have low scalability and reliability. The study also showed that the analytic hierarchy process requires more time for requirement prioritization; it is reliable but it is not scalable. The study also revealed that it is difficult to prioritize requirements with the existing prioritization techniques when multiple stakeholders are involved.
Conclusion: The study suggests that future researches should be based on the design of requirement prioritization techniques that will have the ability to accommodate large stakeholders and requirements.