NLP-driven automated support for the selection of SDLCs

This work involves research into how software project managers select software development life cycles (SDLCs) in tackling specific software projects, and the creation of a tool to support such decisions. The research involved analysing various research papers to determine the criteria used in establishing an appropriate SDLC for a project. 

The four generally recognised criteria were identified to be: Requirements, Risk, Development Team, and User Participation. To obtain accurate values for each criterion, natural language processing (NLP) techniques were used to parse the project description provided by the user. Extensive research, including consultation with a University of Malta professor specialising in NLP, was conducted to identify the most suitable technique(s) for parsing natural language descriptions. 

Upon careful consideration, the Hugging Face dataset libraries were selected as the approach to be used. This decision was based on their ease of use, scalability, and wide range of available models, which significantly contributed to the effectiveness of the tool. This allowed the parsed input to be analysed and two key values to be retrieved, namely: a value within a range of 0 to 1, and a ‘yes’ or ‘no’ answer to predefined questions for each criterion. The values were obtained using the BERT-base-uncased model from the Hugging Face libraries. The value-within-a-range was retrieved using text classification, where the user’s input was analysed across the above-mentioned four criteria, and the highest value for each label was kept. The question-answering technique was used to retrieve a ‘yes’ or ‘no’ answer to predefined questions determined during research. These questions were linked to each SDLC and provided valuable insight into how researchers and industry professionals alike tended to define system requirements.

By combining the two sets of values specified above, the proposed tool could determine the most appropriate SDLC for the user’s project description. This would be achieved by matching the user’s description against the questions and answers provided in the research to find the SDLC that would be best aligned with the user’s needs. Apart from delivering the name of the most suitable SDLC, the tool would indicate the percentage match between the project description and the recommended SDLC. Additionally, the tool could offer a brief overview of the best use cases of the recommended SDLC,’ thus further assisting project managers in their decision-making process.

The outcome of this research project suggests that certain aspects of SDLC selection could be supported. The devised tool could also provide project managers with a prototype tool for implementing such support. Automated decision support could result in more efficient and effective project management, ultimately leading to improved project outcomes and increased satisfaction among stakeholders.

Figure 1. Flowchart of the process

Student: Gabriel Chetcuti
Supervisor: Prof. Ernest Cachia