Using ChatGPT in Software Requirements Elicitation

This article is a summary of a seminar paper written as part of the Master's in Software Engineering program, dated July 10, 2023.

Abstract

This study focuses on revolutionizing the requirements elicitation phase in software development by proposing a solution that utilizes Artificial Intelligence (AI) through a motivational chatbot connected to ChatGPT. The chatbot engages in text conversations with stakeholders, posing thought‑provoking questions to gather information about their software and desired outcomes. It then processes and organizes the gathered information into comprehensive requirements, compiling them into a user‑friendly file for developers. This innovative framework aims to make requirement gathering more efficient and effective by minimizing conflicts and incompleteness that are often encountered in traditional methods. To evaluate the effectiveness, an experiment was conducted comparing a traditional interview approach with the chatbot experience for participants developing similar appointment‑booking applications. The study's results are transformative, demonstrating the potential of leveraging AI through the chatbot to revolutionize the software requirement elicitation process. This innovative method has the potential to produce results that are quicker, more cost‑effective, and more efficient, taking software development to new heights of success. Software professionals can boost productivity and communication while also producing software projects that are above and beyond expectations by using this solution.


Keywords: software requirements, requirement elicitation techniques, chatbot in software requirements, ChatGPT.

1  Introduction

The software development life cycle (SDLC) is a series of stages that a software project goes through, from idea and planning to evaluation and maintenance. The initial stage is Planning, where the software development team determines the necessary features and project operations. Next is the Requirements stage, where client requirements are understood and documented. This is followed by the Design and Development stages, where engineers design and build the software. The Testing stage involves thorough testing by software testers to ensure quality. The software is then deployed to end‑users in the Deployment stage, followed by the Maintenance stage [1,2]. Figure 1 shows a general perception of the software project.

Requirements gathering is a crucial stage that influences the final product and stakeholders' expectations [3]. Various definitions describe requirements elicitation as the process of identifying needs and classifying them within constraints [3,20]. Collecting requirements is challenging as it requires complete documentation of program details and future software visualization [3]. There are different methods for eliciting requirements, and this study explores the use of chatbots for this purpose.

Software Development Life Cycle
Figure 1 — Software Development Life Cycle.

Chatbots, like virtual personal assistants, utilize artificial intelligence to engage in human‑like conversations [3]. The first chatbot, Eliza, was developed in 1966 and acted as a psychotherapist [4]. Improvements included Parry (1972) and, more recently, virtual assistants such as Apple Siri [5], Microsoft Cortana [6], Amazon Alexa [7], Google Assistant [8], IBM Watson [9], and ChatGPT [10]. People appreciate chatbots because they respond quickly and answer specific questions, leading companies to use them to increase productivity. Despite their advantages, chatbots still lack emotional interaction [11].

Software engineers use ChatGPT, a large language model (LLM), to automate tasks including code generation, completion, and bug fixing [11]. It can also support requirements gathering and system design by producing textual descriptions of software elements or system architectures. Traditional methods for eliciting requirements face problems such as conflicting requirements, incompleteness, lack of knowledge among developers or stakeholders, meeting difficulties, missed deadlines, and implementation issues. Several studies have proposed chatbots for software requirements elicitation [24–29].

2  Literature Review

Several experiments and studies have examined software requirements elicitation methods in both educational and industrial environments, analysing required time, cost, effort, skills, and product quality. Because chatbots are a relatively new application, we identified only seventeen studies (2019–2023) that proposed using chatbots for requirements elicitation, of which seven were relevant.

Study [24] proposed an intelligent conversational chatbot to automate requirements elicitation and classification into functional and non‑functional categories. While effective, the authors noted that feasibility prediction, cost estimation, and scheduling required improvement.

In [25], a chatbot trained novice requirements engineers by using context‑free questions and summarising interviews. It successfully identified incompleteness but required further work to behave like a real assistant.

Study [26] introduced an Android chatbot for requirements elicitation, achieving over 80 % on user‑acceptance criteria. Future work will address advanced NLP for Bahasa Indonesia and developer dashboards.

The Reqbot developed in [27] asked questions, detected ambiguity, and initiated disambiguation. While it improved requirement quality, usability gains were limited.

Rietz [28] designed a conversational system for novice end‑users, focusing on scalable evaluation of collected data. Future iterations will allow users to edit previous answers.

Wolfinger et al. [29] built a chatbot to elicit contextual information from user feedback, providing structured reports.

White et al. [11] catalogued thirteen prompt patterns for ChatGPT, including the Requirements Simulator, Specification Disambiguation, and Change Request Simulator, highlighting their potential for requirements engineering.

3  Methodology

Chatbot Diagram
Figure 2 — Chatbot Diagram.

3.1  Research Objective

The research proposes a chatbot based on ChatGPT for requirements elicitation and evaluates its feasibility against traditional interviews.

3.2  Research Design

A qualitative approach documents chatbot conversations and traditional interviews. Surveys collect participant feedback. Analysis focuses on missing requirements, completeness, effort, time, comfort, and trustworthiness.

3.3  Participants

Two dentists requiring similar appointment‑booking applications participated: one engaged in a traditional Arabic interview; the other used the chatbot in English.

3.4  Chatbot Development

Chatbot Graphical User Interface
Figure 3 — Graphical User Interface of the chatbot.

The chatbot was built in Python with a Tkinter text interface and integrated ChatGPT. It summarises elicited requirements into an IEEE‑STD‑830‑1998 compliant Software Requirements Specification (SRS) file. ChatGPT provides multilingual support; conversation accuracy is manually validated during this prototype stage.

3.5  Data Analysis

Requirements completeness, effort, time, comfort, and reliability are compared between methods.

3.6  Evaluation Metrics

Metrics include completeness of elicited requirements, effort/time consumption, user satisfaction, and chatbot result reliability.

3.7  Ethical Considerations

Participants were informed of conversation recording; privacy and data‑protection standards were followed.

3.8  Limitations

Text‑based chatbot interactions may reduce comfort compared with face‑to‑face interviews and affect duration.

4  Results

4.1  Completeness of Software Requirements

The manual document captured comprehensive requirements, whereas the chatbot document was concise and omitted security and UML elements.

4.2  Effort and Time Comparison

The traditional interview lasted ~30 minutes; the chatbot interview ~10 minutes.

4.3  Participant Survey Results

The Question (Scale 1–5) Score
Traditional Interview Chatbot
Overall satisfaction with the requirement‑elicitation process45
Clarity and comprehensibility of questions44
Coverage of important aspects34
Ease of expressing requirements54
Effectiveness in capturing requirements45
Level of engagement and interaction54
Comfort sharing thoughts and ideas35
Interviewer/chatbot understanding of needs45
Probing questions for deeper understanding35
Confidence in accuracy and completeness54
Total Score44 / 5045 / 50
Question Traditional Interview Chatbot
Perceived strengths of the method Explanation of the idea through a scenario; face‑to‑face interview. Quick interview; direct questions; prompted to consider new points.
Perceived limitations/areas for improvement Scheduling required; interview lengthy; occasional misunderstanding. Chatbot did not ask about unmentioned details; typing on keyboard uncomfortable.

5  Discussion

Both approaches provided positive user experiences; the chatbot reduced effort and time. Although the chatbot omitted some requirement details, these issues can be resolved by enhancing its prompts and adding voice interaction. Survey scores were comparable, indicating the chatbot's usability even as a prototype.

6  Conclusion

This study proposed a chatbot‑based approach to software requirements elicitation. The chatbot captured most essential requirements while reducing time and effort compared with traditional interviews. Although some specificity was lacking, the results demonstrate the feasibility and potential advantages of chatbot‑based elicitation. Future work will address completeness, add voice interaction, and further evaluate reliability.

For code and more information about this project, you can go to GitHub by clicking Here.

References

  1. Kubis, K. (2022, December 22). Software development life cycle - the practical guide. CrustLab. Retrieved February 2, 2023, from https://crustlab.com/blog/software-development-life-cycle-the-practicalguide/
  2. TestProject. (2021, March 8). The World of Software Development Life Cycle. TestProject. Retrieved February 2, 2023, from https://blog.testproject.io/2021/03/08/the-world-of-softwaredevelopment-life-cycle/
  3. Adamopoulou, E., & Moussiades, L. (2020). An overview of chatbot technology. In Artificial Intelligence Applications and Innovations (pp. [pages if available]). Springer International Publishing.
  4. Rehman, T., Khan, M. N. A., & Riaz, N. (2013). Analysis of requirement engineering processes, tools/techniques and methodologies. International Journal of Information Technology and Computer Science (IJITCS), 5(3), 40.
  5. Weizenbaum, J. (1966). ELIZA—A computer program for the study of natural language communication between man and machine. Communications of the ACM, 9, 36–45.
  6. Apple. (n.d.). Siri. Retrieved February 25, 2023, from https://www.apple.com/siri/
  7. Microsoft. (n.d.). Personal Digital Assistant - Cortana Home Assistant. Retrieved from https://www.microsoft.com/en-us/cortana
  8. DigitalTrends. (n.d.). What exactly is Alexa? Where does she come from? And how does she work? Retrieved from https://www.digitaltrends.com/home/what-is-amazons-alexa-and-what-can-it-do/
  9. Google. (n.d.). Google Assistant. Retrieved February 25, 2023, from https://assistant.google.com/
  10. IBM. (n.d.). IBM Watson. Retrieved February 25, 2023, from https://www.ibm.com/watson
  11. OpenAI. (2021, June 18). Chat GPT. OpenAI. Retrieved February 25, 2023, from https://openai.com/
  12. White, J., et al. (2023). ChatGPT prompt patterns for improving code quality, refactoring, requirements elicitation, and software design. arXiv preprint arXiv:2303.07839.
  13. Surana, C., Kumar, R., Gupta, D. B., & Shankar, S. P. (2019). Intelligent chatbot for requirements elicitation and classification. In 2019 4th International Conference on Recent Trends on Electronics, Information, Communication & Technology (RTEICT). IEEE.
  14. Laiq, M., & Dieste, O. (2020). Chatbot-based interview simulator: A feasible approach to train novice requirements engineers. In 2020 10th International Workshop on Requirements Engineering Education and Training (REET). IEEE.
  15. Dwitama, F., & Rusli, A. (2020). User stories collection via interactive chatbot to support requirements gathering. TELKOMNIKA (Telecommunication Computing Electronics and Control), 18, 870.
  16. Valkenier, M. P. (2020). Extracting high-quality end-user requirements via a chatbot elicitation assistant (MS thesis).
  17. Rietz, T. (2019). Designing a conversational requirements elicitation system for end-users. In 2019 IEEE 27th International Requirements Engineering Conference (RE). IEEE.
  18. Wolfinger, R., Fotrousi, F., & Maalej, W. (2022). A Chatbot for the Elicitation of Contextual Information from User Feedback. In 2022 IEEE 30th International Requirements Engineering Conference (RE). IEEE.
  19. Umber, A., Bajwa, I. S., & Naeem, M. A. (2011). NL-based automated software requirements elicitation and specification.
  20. Okesola, O. J., et al. (2019). Qualitative comparisons of elicitation techniques in requirement engineering. Qualitative Comparisons of Elicitation Techniques in Requirement Engineering, 14(2), 565–570.
  21. Pacheco, C., García, I., & Reyes, M. (2018). Requirements elicitation techniques: A systematic literature review based on the maturity of the techniques. IET Software, 12(4), 365–378.
  22. Dar, H., et al. (2018). A systematic study on software requirements elicitation techniques and its challenges in mobile application development. IEEE Access, 6, 63859–63867.
  23. Davey, B., & Cope, C. (2008). Requirements elicitation–What’s missing?. Issues in Informing Science & Information Technology, 5.
  24. Davis, A., Dieste, O., Hickey, A., et al. (2006). Effectiveness of requirements elicitation techniques: Empirical results derived from a systematic review. In Proc. 14th IEEE Int. Requirements Engineering Conf., Minneapolis/St. Paul, MN, USA, pp. 179–188.
  25. Dieste, O., Lopez, M., & Ramos, F. (2008). Updating a systematic review about selection of software requirements elicitation techniques. In Proc. 11th Workshop on Requirements Engineering, Barcelona, Catalonia, Spain, pp. 96–103.
  26. Svensson, R. B., Höst, M., & Regnell, B. (2010). Managing quality requirements: A systematic review. In Proc. 36th EUROMICRO Conf. Software Engineering and Advanced Applications, Lille, France, pp. 261–268.
  27. Dieste, O., & Juristo, N. (2011). Systematic review and aggregation of empirical studies on elicitation techniques. IEEE Transactions on Software Engineering, 37(2), 283–304.
  28. Dahiya, M. (2017). A tool of conversation: Chatbot. International Journal of Computer Sciences and Engineering, 5(5), 158–161.
  29. Westfall, L. (2005). Software requirements engineering: What, why, who, when, and how. Software Quality Professional, 7(4), 17.
  30. IBM. (n.d.). What is natural language processing? Retrieved March 14, 2023, from https://www.ibm.com/topics/natural-language-processing