Software vendors aim to find, for a release of the software, an optimal subset of features that gives the highest value while respecting the resource limitations. The value of a feature subset, however, is determined by the values of the individual features within that subset—which are specified by the preferences of users. But user preferences for some features may change in the presence or absence of others. As such, the values of certain software features may be influenced, either positively or negatively, by other features. Such influences are widely recognized and referred to in the literature as value-related dependencies among software features. Value-related dependencies impact the overall value of a software product and, therefore, need to be considered in software release planning. To achieve this, we have proposed identifying value-related dependencies by mining user preferences for software features. We integrate these dependencies into an integer programming model, that finds an optimal subset of the features for a release of a software product. We have demonstrated the practicality of our proposed approach by studying a real-world software project and simulations.
- Release planning
- User preferences