Economical Requirements Elicitation Techniques During COVID-19: A Systematic Literature Review

: Requirements elicitation is a fundamental phase of software development in which an analyst discovers the needs of different stakeholders and transforms them into requirements. This phase is cost- and time-intensive, and a project may fail if there are excessive costs and schedule overruns. COVID-19 has affected the software industry by reducing interactions between developers and customers. Such a lack of interaction is a key reason for the failure of software projects. Projects can also fail when customers do not know precisely what they want. Furthermore, selecting the unsuitable elicitation technique can also cause project failure. The present study, therefore, aimed to identify which requirements elicitation technique is the most cost-effective for large-scale projects when time to market is a critical issue or when the customer is not available. To that end, we conducted a systematic literature review on requirements elicitation techniques. Most primary studies identified introspection as the best technique, followed by survey and brainstorming. This finding suggests that introspection should be the first choice of elicitation technique, especially when the customer is not availableor the project has strict time and cost constraints. Moreover, introspection should also be used as the starting point in the elicitation process of a large-scale project, and all known requirements should be elicited using this technique.


Introduction
Despite a long tradition of requirements engineering research, some issues remain regarding requirements engineering and software projects. The present study focused on the elicitation of requirements, which is the first step in the requirements engineering process. The purpose of requirements elicitation is to determine stakeholders' needs and wants [1,2]. Previous studies have examined various elicitation methods, including their advantages and disadvantages [3,4].
This study conducted a systematic literature review to investigate the cost-effectiveness of various requirements elicitation techniques. The findings can help identify the best technique to use when the customer is unavailable or unable to provide requirements. During the pilot study for the review, we observed that researchers have recommended various time-saving elicitation techniques. The main idea is to measure the cost-effectiveness of requirements elicitation techniques that can be used when a product's time to market is short. Below, we briefly define the main requirements elicitation techniques discussed in this review.
• Prototyping is used when the customer is uncertain about the requirements or when early feedback is needed [14,15]. The prototype can be a throwaway, in that it may be used only for validation purposes, or it can be evolutionary, in that it may be used as part of the actual system. • In the interview technique, a system analyst asks stakeholders questions and documents the responses [1]. Interview questions can be open-or closed-ended, depending on the situation [10]. The interviewee has more control during a close-ended interview than in an open-ended one. • Introspection is a technique where analysts determine requirements based on their own thoughts, beliefs, and experiences [16]. A prerequisite for this technique is that the system analysts must have domain knowledge and awareness of the organization's business processes. • Brainstorming is a group technique in which stakeholders from different domains share ideas openly and rapidly [17]. It is mostly used at the start of the elicitation process and has two phases: the generation phase, where ideas are generated, and the evolution phase, where they are discussed. • A focus group is a team of diverse stakeholders with different skill sets, usually led by a moderator to identify high-level features of the product [17]. A focus group is like a group interview from which qualitative data can be obtained more quickly. • In joint application development (JAD), different stakeholder representatives meet under the supervision of an unbiased facilitator. The members can include system analysts, customers, developers, and architects [18].
• When using observation, an analyst observes users in their natural environment. Observation can be active, where analysts ask questions, or passive, where user interactions are under observation [19]. • Ethnography is used when system analysts want to communicate with various stakeholders to identify problems that might lead to insufficient requirements. Here, the observer inhabits the user's environment to obtain thorough observations [18,20]. • Scenarios refer to the sequence of interactions between the user and the system. Scenarios cover not only the normal flow of events but also exceptions [18,21]. A scenario can help determine which functional requirements should be included in the system [22].
The rest of this paper is organized as follows. Section 2 discusses the related work while Section 3 describes the method. Section 4 presents the results and discussion while Section 5 focuses on validity issues. Lastly, Section 6 concludes with the study's implications and directions for future research.

Related Work
While many studies have investigated requirements elicitation, only a few have considered technique selection under the condition of time constraints. Examining several techniques and their uses, Coulin et al. [23] highlighted eight core techniques and their alternatives, including interview, group work, ethnography, prototyping, goal-based approach, scenarios, and viewpoints. The authors found that most requirements elicitation activities should be performed in conjunction with each other and found interviews, group workshops, observation, goals, and scenarios the most commonly used techniques. By contrast, the authors suggested using introspection when the user has no previous experience and the analyst has in-depth domain knowledge.
Mishra et al. [10] developed the Situational Requirement Method System (SRMS), which helps users select the appropriate elicitation method for a given situation. This research suggested that if only a few hours are available, then role-playing should be employed; if there are two to three days, the workshop technique should be used, provided the customer is experienced. The authors further noted that if customers are experienced and can articulate their needs, workshops and brainstorming can be beneficial; otherwise, ethnography or interviews are recommended. If a meeting is possible between both teams, then brainstorming and workshop are effective. If the budget is limited, storytelling or storyboarding can be used. A prototype can be used if the user experience is critical. For complex projects, the authors recommended using multiple techniques simultaneously to elicit the maximum number of requirements.
Kiran et al. [24] examined various requirements elicitation techniques that are used to build open-source applications. These techniques include groupware tools, web surveys, interviews, introspection, and analysis. It is suggested that if a stakeholder is not available, scenario is the best option; meanwhile, a web survey is recommended if a large number of responders need to be reached. Interviews should be used when complex data are under investigation. Similarly, analysis is recommended when it is necessary to improve an existing system or substitute it with an alternative system.. The use of introspection is recommended when requirements are already known to the analyst. The authors also suggested using introspection when the customer is not available for elicitation sessions.
Garg et al. [25] divided elicitation techniques into direct and indirect approaches. The direct approach is used to improve knowledge about the problem under discussion. Interviews, case studies, and prototyping are the most common examples of this approach. Meanwhile, if information is scattered, the indirect approach is suggested; the most common examples of this approach are questionnaires and document analysis. This study also considered techniques such as task analysis, interviews, introspection, protocol analysis, and scenarios. In task analysis, a high-level task is divided into subtasks that the user performs to accomplish the high-level task. Interview is an effective way to gather a significant amount of data. During introspection, the analyst develops requirements based on what the system should have. Garg et al. [25] further found that introspection can be effective when an analyst is familiar with the domain and knows the user's business processes. The authors further reported that scenarios could facilitate a better understanding of the system due to interactions between user and system.
To our knowledge, no prior study has investigated the cost-effectiveness of requirements elicitation techniques where the product's time to market is limited. Therefore, we aimed to assess the cost-effectiveness of different requirements elicitation techniques when the product's time to market is limited or when the customer is not available or does not the requirements.

Method
This study employed a systematic literature review [26], which is a well-defined approach for identifying, assessing, and interpreting all available studies in a field of interest [23,27]. This study followed Kitchenham's guidelines to assess the cost-effectiveness of different requirements elicitation techniques. Fig. 1 shows the eight phases of the study method: the need for systematic literature review, research question formulation, search strategy, study selection, inclusion/exclusion criteria, quality assessment procedure, data extraction, and data composition.

The Need for a Systematic Literature Review
One main reason for the failure of software projects is an inability to collect complete, correct, and unambiguous requirements [6,28,29]. Such issues can be caused by a lack of user involvement, incomplete requirements, inconsistent requirements, or changes in requirements. Various elicitation techniques are discussed in the literature, such as interview, introspection, questionnaire/survey, JAD/RAD, focus group, observation, laddering, and card sorting. Selection of an inappropriate elicitation technique may lead to project failure [9]. A systematic literature review is thus required to summarize the findings of existing studies of elicitation techniques and to determine their cost-effectiveness.

Defining the Research Question
During the pilot study, we noticed that several studies had already compared different elicitation techniques. However, we did not find any that aimed to determine the cost-effectiveness of different elicitation techniques when the product's time to market is a key issue. Therefore, this review aimed to answer the following research question: Which requirements elicitation technique is cost-effective for large scale projects in which time to market is the key issue?
To answer the research question, the following keywords were used to construct a search string: Requirements, elicitation, software, and cost-effective. The search string formulated on the basis of these keywords was as follows: Requirements AND (elicitation OR gathering OR acquiring) AND software AND "cost effective" We also used synonyms of the keywords to expand the search query.

Defining the Search Strategy
Kitchenham [26,27] recommended using different electronic databases when performing a systematic literature review. We therefore used the following: • ACM Digital Library Additional electronic databases were consulted but not included due to availability issues. We performed trial searches using a search string constructed through a combination of different keywords.

Selection of Studies
As suggested by Kitchenham, the selection criteria were determined as part of the protocol definition. We reviewed the titles, keywords, and abstracts of the extracted articles to determine their relevance. The full article was read to check its soundness and to obtain essential data. It was also necessary to examine the selected studies to check for similar articles. If there were similar publications from different databases, only the most recent ones were considered.

Inclusion and Exclusion Criteria
In systematic literature reviews, inclusion and exclusion criteria are used to select the primary studies. This study adopted the following inclusion criteria: • Studies that discussed the cost-effectiveness of software requirements elicitation techniques • Book chapters, conference papers, and journal papers • Articles related to the software engineering domain • Articles that answered the research question • Articles that were free or openly accessible in Pakistan • Articles published between 2000 and 2020 The following material was excluded because of irrelevance: • Articles written in a language other than English • Slides, personal opinions, magazine reports, news articles, and web pages

Quality Assessment Procedures
Aside from the above mentioned inclusion/exclusion criteria, it was also necessary to gauge the quality of the selected studies to minimize researcher bias and maximize internal and external validity [26]. Our quality assessment criteria were constructed following Davis et al. [4]. Appendix A shows the quality assessment form used in this study.

Data Extraction
Data extraction concerns the useful information that was extracted from the selected studies. Appendix B provides the data-extraction form used to record publication-related information. This fulfilled the quality-assessment criteria listed in Appendix A.

Data Composition Plan
The results retrieved from the selected studies were compiled and put into tabular form for better visualization.

Results and Discussion
The search string execution and data extraction were performed between February 2020 and May 2020. Fig. 2 shows the workflow for data collection. To address the research question, 4,751 articles from different electronic databases were identified based on the criteria specified in Section 3.4.
We read the titles and abstracts of the selected articles, and out of the 4,751 articles, 408 were selected in the initial scan. After further filtering that involved reading the full articles, 88 papers were selected. Then, of those 88 articles, 38 were discarded based on the quality criteria mentioned in Section 3.6. Tab. 1 summarizes the articles extracted for this study.
Fifty studies were selected based on the quality assessment criteria. Tab. 2 lists the articles used to perform the systematic literature review.
All key findings from the articles were put into a form, as shown in Appendix C. Tab. 3 presents the key data from some of the studies. Only broad data were extracted and stored in the form.
Here, we present studies that discussed the cost-effectiveness of requirements elicitation techniques when the product's time to market was the key issue. From the 50 selected studies, 15 requirements elicitation techniques were identified. The selection criteria are explained in Section 3.4. Tab. 4 shows that 62% of the selected studies recommended introspection, 34% recommended questionnaires, 24% recommended brainstorming, and 24% recommended interviews. Fig. 3 shows the usage percentage of each elicitation technique, where it is clear that the most-used elicitation technique is introspection when cost-effectiveness and time constraints are key issues. The results indicate the following. First, introspection is the leading elicitation technique used when customers want early system deployment to meet their business needs. Second, introspection may help the developer organization release the software early when the critical issue is limited time to market. Third, if the customer is not available or cannot explain the required characteristics, introspection should be used. Fourth, introspection should be used as the starting point in the elicitation process for a large-scale project, and all known requirements should be specified using this technique. In this way, the project team can reduce time spent on the elicitation process, thereby reducing the time and cost of the whole project.       This research highlights the fact that we know little about introspection; it is one of the leastresearched techniques for software requirements elicitation. Only 50 related studies were identified between 2000 and 2020 using the selection and quality criteria discussed previously. Several studies have concluded that multiple requirements elicitation techniques should be used to obtain the requirements for a given software project.

Validity
This study was performed systematically, as described in Section 3. Articles were selected based on the search strategy and quality assessment criteria discussed previously. Yet, there is still a chance we could have missed important studies since extracting articles using the search terms in titles, keywords, and abstracts is not assured. However, we used multiple databases, which reduces the likelihood of missing relevant articles. Aside from this issue, another issue is that results may be different in the future owing to the continually expanding nature of electronic databases. Finally, our results have yet to be verified through an experimental study.

Conclusion and Future Work
Business needs are evolving rapidly, and businesses want to deploy cost-effective software systems in the shortest possible time. At the same time, many software systems have struggled to fulfil their aims for various reasons. One reason for this failure is related to requirements engineering. Software products can meet customers' requirements if sufficient resources are available for the requirements engineering process. Among all the phases of this process, requirements elicitation is the most critical. Here, customer requirements are determined in a way that can result in a successful project. Many elicitation techniques, and their pros and cons, are examined in the literature, including interview, survey, observation, introspection, task analysis, group work, and prototyping. Among these elicitation techniques, introspection is the least-addressed technique and therefore needs further exploration. This study, therefore, used a systematic literature review to investigate the cost-effectiveness of elicitation techniques when time constraints are the primary concern.
A comprehensive literature review was undertaken to ensure maximum validity. We collected 4,751 articles from multiple electronic databases based on our established selection criteria. Following the inclusion/exclusion and quality-assessment processes, 50 articles were selected to answer the research question. Then, after a detailed analysis of the selected studies, 15 requirements elicitation techniques were identified. We assigned each elicitation technique a number depending on its frequency in the extracted studies. The proportions of these selected studies were also calculated for ranking. Based on this ranking, we concluded that introspection may be a cost-effective option when a product's time to market is a key issue, followed by survey, brainstorming, interview, and joint application development.
Efforts have been made to identify a cost-effective elicitation technique during the COVID-19 pandemic, especially when a product's time to market is limited. This study could help analysts and managers take advantage of introspection in situations where there is limited time to develop a cost-effective system. In addition, for large-scale software, a project team can significantly reduce elicitation time and cost by using introspection for known domain areas. This study also revealed that introspection could be used at the start of the elicitation process. Using introspection in the early stage of a software project could help to minimize the time and cost of the software development process.
In future research, we plan to establish a framework to identify the system areas and functionalities in which introspection can or cannot be effectively employed. We also intend to conduct experimental studies to validate our findings.

Funding Statement:
The authors extend their appreciation to the Deanship of Scientific Research at King Saud University for funding this work through research group no. RG-1441-490.

Conflicts of Interest:
The authors declare that they have no conflicts of interest to report regarding the present study.