Maximizing Customer Satisfaction: Research on Prioritizing Requirements for Optimal Software Releases
by V. Pérez-Piqueras, P. Bermejo, J.A. Gámez – Universidad de Castilla-La Mancha, Spain
One of the many challenges in software development is to decide which features should be prioritized in order to build the correct product for our customers so that their satisfaction is maximized. This must be achieved while not exceeding the development capacity and budget defined.
Usually, this process is carried out by experts, who decide the features to be included in a software release based on their past experience. However, this procedure is complex and error prone, no matter the project methodology or framework applied. In classic and waterfall-like methodologies, the requirements and planning phase may include hundreds of requirements, which have to be evaluated, prioritized, and maybe even discarded.
On the other hand, agile methodologies that split the development in phases or sprints do not need to plan that many requirements ahead of time, but the requirements selection and prioritization process occurs multiple times during the development.
Researchers in the Computer Science community have redefined this challenge as a search problem, named Next Release Problem (NRP). By transforming the project information into numeric values, these can be fed into an algorithm that can solve the problem automatically. Many works have been published, proposing different alternatives to tackle the NRP.
We present an overview of the methods that we have developed, which focus on techniques that solve the NRP for classic, and specifically, for agile-driven developments. Our research includes: new algorithm proposals that have been proved to find better solutions to the NRP by using novel techniques that model how the software requirements interact among them; generation and publication of datasets by extracting data from the 2015 ISBSG dataset; algorithms that provide good NRP solutions while keeping a very low execution time, so that they can be used for frequent, agile-driven release plannings; and an agile project management tool that integrates these algorithms so that they can be used in real world scenarios.
Watch a Youtube video of the presentation
See the PDF of the presentation
About Víctor Pérez-Piqueras
Víctor Pérez-Piqueras is a software engineer and certified Professional Scrum Master (PSM-II), actively contributing to the development of software products, while also offering support to his team and organization with regards to agile adoption and project management. His professional journey has been guided by a profound enthusiasm for software project management, agile methodologies, and software architectures. Outside the realm of his professional responsibilities, Víctor invests his free time in the advancement of computer science through his ongoing PhD studies. His research is focused on leveraging artificial intelligence to address common software engineering challenges. Víctor has published some of his contributions in scientific journals and presented his findings at computer science and software engineering conferences. Additionally, he was honored with two awards for his innovative development of an agile project management tool that effectively integrates AI algorithms to automate the software release planning process.