Abstract
Release planning is a cornerstone of incremental software development. This paper proposes a novel framework that performs the prioritization aspect of the software release-planning process. The aim of this framework is to help software product managers to select the most promising requirements that will be implemented in the next release. Many variables affect release planning, including: The importance of requirements as perceived by the different stakeholders; decision weights of the stakeholders; the risk associated with each requirement as estimated by the development team; the effort needed to implement each requirement; the release size (the effort allocated to implement and deliver a software release); and the dependencies among requirements. We assume that there are no ambiguities in defining the dependencies among requirements. Also it is assumed that the estimation of the available effort is accurate. Because of human perception, such variables as importance, risk, and required effort have a high degree of imprecision and uncertainty. Therefore, the strength and practicality of the Fuzzy Inference System (FIS) is employed to manipulate uncertainty in these three factors. In order to reflect the disagreements among the stakeholders on the FIS engine, the polling method is used to define the parameters of the membership functions of the importance variable. The effectiveness of the proposed framework is compared to genetic algorithm approach, which is applied in many works in the literature. The results of this comparison show that the proposed FIS-based approach achieves higher degree of stakeholders' satisfaction than genetic algorithm-based approach.