Critical Success Factors and Challenges in Agile Requirements Engineering

Nowadays, the requirements of the software are changing rapidly in order to meet clients‟ needs, which increases the complexity of developing software. Thus, Agile requirements engineering has arisen and it focuses on how to deal with the increasing changes in software requirements by gathering requirements iteratively and collaboratively with the clients. Thus, the clients‟ satisfaction could be met more easily. On the other side, researchers have tried to improve agile requirements engineering from time to time, however, there are still limitations and challenges faced, which need more attention. Thus, this study is conducted by performing a systematic literature review technique to investigate the challenges, critical success factors, and the topics that need more attention in the agile requirements engineering field. In the beginning, the study obtained 178 articles related to this topic which were published from 2002 until 2019. After a thorough analysis of the articles, the study reviewed the ten (10) challenges and the proposed solutions that mentioned in the previous studies. Besides that, the study found six (6) critical success factors, and highlighted four (4) topics that need more attention from the researchers in future studies in agile requirements engineering.

determine Agile RE practices and potential challenges. They presented seventeen (17) practices of Agile context while dealing with requirements, and for the challenges of Agile RE, the study found eight (8) challenges which are little documentation, schedule estimation, and client availability, unsuitable architecture, ignoring nonfunctional requirements (NFRs), client inability and agreement, requirements change, and contractual limitations.
In another study, Schön et al. [1] conducted a literature review to put light on deep insights of Agile RE stakeholders, such as user involvement, user perspective, shared understanding, and documentation. The study obtained data from 27 related studies. Based on the analysis of these related studies, they found many problems arise with the direct involvement of stakeholders and users. Besides, the study also recognized the major artifacts for documentation of requirements, for instance, prototypes, user stories, scenarios, story cards, and use of cases. They also suggested that there is a need to further investigate Agile RE empirically, particularly by exploring the requirement management in different project types.
In addition, a literature review was also conducted by Elghariani and Kama [3] in order to examine the challenges and practices of agile RE. The study obtained data from 22 related studies. Their findings were quite similar to the findings of Inayat et al. [5] in which six (6) challenges of Agile RE, and sixteen practices (16) were found. Among these challenges are the change of requirements, maintainability, ignoring NFRs like security, inappropriate software architecture, client availability, project constraint, and missing requirements. . Moreover, a mapping study was also conducted by Heikkila et al. [9] on Agile RE through the examination of 28 articles. According to these researchers, there exists a weak understanding of Agile RE. A number of challenges were suggested by them, and some advantages of Agile RE. Furthermore, Islam [11] conducted a literature review from 24 articles between 2001-2016, in order to find out CSFs in ASD. As a result, five success factors and twenty-four characteristics of the success were gathered from the articles. Likewise, literature was also done by Alam et al. [12] having more than 60 articles, in order to identify the weaknesses of the different stages of the Agile context. However, the scope of the study was considered very wide [13].Besides, the SLR did not mention the selected publication year of the studies. In a study by Soares et al. [10], the study conducted a literature review, which specified the major challenges while applying agile RE. The study found 19 articles related to its research questions. The results of the study showed a number of challenges with applying agile RE such as NFRs determination, lack of information, the definition of requirements, and communication with clients. Table 1 shows a summary of SLRs that were conducted in Agile RE. The table contains the number of studies included in SLRs, the period of studies which determines the publishing years of studies, and the research questions of SLRs. 27 studies 2007 to 2015 RQ1: "What approaches exist, which involve stakeholders in the process of RE and are compatible with ASD?" RQ2: "Which agile methodologies, which are capable of presenting the user perspective to stakeholders, can be found?" RQ3: "What are the common ways for requirements management in ASD?" [3] 22 studies 2000 to 2015 RQ1: "What Are the Agile Requirements Engineering Practices?" RQ2. "What Are Agile requirements engineering challenges?" [9] 28 studies 2004 to 2014 RQ1: "What has been researched regarding requirements engineering in an Agile context?" RQ2: "What are the reported key benefits of Agile requirements engineering?" RQ3: "What are the reported problems and corresponding solutions related to Agile requirements engineering?" [11] 24 studies 2001 to 2016 RQ1: "What factors define success in Agile software development?" RQ2: "How do these factors contribute to success of a project?" [12] 60 studies -RQ1: "What are requirement Engineering practices used in Agile?" RQ1: "What are issues, limitations and challenges in Agile requirement engineering?" [10] 19 studies 2001 to 2014 RQ1: "What are the difficulties of using Agile requirements on software development projects?" RQ2: "What is the perception of the participants regarding the use of Agile requirements in software projects?" RQ3: "Is there any work relating Agile requirements to technical debt?" After a thorough analysis of the existing studies on Agile RE SLRs, most of the literature reviews focused on the practices and processes in Agile RE, and there are limited literature reviews focused on the challenges and proposed solutions in Agile RE. Indeed, the RE in the Agile context is still vague of practitioners, and it poses several new challenges, which need to investigate it. Besides, there are scarce of literature reviews that focused on CSFs in Agile RE. In fact, there is only one (1) literature review focused on identifying the CSFs in ASD. However, the scope of the study covered ASD in general, which did not focus on the context of Agile RE. Indeed, identifying the CSFs can help the practitioners to increase success in future projects [14]. Thus, this study focuses on the challenges and the proposed solutions for these challenges, besides identifying the CSFs related to requirements in Agile context. Furthermore, this study focuses on the topics that need further attention in Agile RE. Finding the topics in Agile RE that need further attention can open the doors to further research in future studies.

Research Method
This study was conducted based on guidelines by Kitchenham and Charters [15]. Thus, the main steps of this study included the research framework, principles, and the review results matched the formalism advocated by Kitchenham and Charters [15].

Research Questions
The research questions conducted by the study after reviewing the related work on Agile RE are as below: RQ1: What are the challenges, issues among them, and proposed solutions in Agile RE? RQ2: What are the critical success factors in Agile context related to requirements? RQ3: What are the topics need more attention related to Agile RE?

Search Process
This study based on the literature review procedure which essentially depended on secondary data from the electronic databases and printed proceedings such as ACM, IEEE, Springer Link, Science Direct, ISI Web of Knowledge, Wiley Inter-Science, and Taylor & Francis ISI web of knowledge. In addition, a snowball technique is employed [16]. Also, DBLP known as Digital Bibliographic Library Browser was used to search for the author's publication. Moreover, this study used two parts in the search string namely S1 and S2. S1 denoted keywords related to "agile requirement engineering" and "agile requirements". S2 contains keywords such as "agile requirements challenges", "issues in agile requirements engineering", "critical success factors for agile requirements engineering", "success factors for agile requirements engineering", "practices in agile requirements engineering", "topic in agile requirements engineering, "gaps in agile requirements engineering", "weaknesses in agile requirements engineering", "difficulties in requirements engineering".

Exclusion and Inclusion Criteria
The study focused on the articles that were written in the English language, thus, any article was written in another language was ignored. After using search techniques in databases and digital libraries. 2585 articles were found and reviewed by the authors. The criteria for inclusion and exclusion were applied. In the first step, titles, abstracts, and conclusions were used to exclude irrelevant articles. Besides, the duplication of articles was canceled during this step. Only 199 articles were left at the end of the first step. The articles which were not explaining the scope of topics properly were excluded in the second round of exclusion. In the end, this study found that only 178 articles were useful and related to the discussion topics. Table 2 shows the number of articles in the first and second rounds including inclusion and exclusion stages.

Criteria of Quality Assessment
The SLR based on the quality criteria suggested by Kitchenham and Charters [15], and also used by other SLRs in Agile RE such as Inayat et al. [5], in order to assess the quality of the chosen studies. The quality criteria are: (C1): Is the study target obviously determined?, (C2): Is the study context well handled?, (C3): Are the results obviously announced?. The response grading for C1, C2, and C3 are (Yes= 1, nominally= 0.5, No= 0). The study evaluated all articles based on these criteria of quality. The result of the first criterion (C1) was 87% of the articles. In the second criterion (C2), the result was 85% of the articles. As for the third criterion (C3), the result was 83% of the articles. At the end, the outcome of the quality criteria was positive for all questions. Table 3 shows a summary of the quality criteria and results.

Data Extraction and Analysis
After the selection of 178 articles that are the most relevant. 57 articles were published in journals, and 36 articles in magazines, symposiums, and workshops, the remaining 85 articles were published in conferences. Figure 1 shows the percentages of articles types disseminated.  Figure 2, the number of articles conducted on this topic started to increase due to the increase in attention to ASD. However, the Agile RE still ambiguous for practitioners, even though there were several articles conducted on RE in agile context [17].

Findings of the Review
The study presents the findings of search articles in the digital library database in Table 4.  Figure 3 shows the distribution of the percentage of per database out of total included articles. Moreover, 178 articles are the total of all articles that investigated challenges and/or proposed solutions, and /or presented CSFs or/ and topics that need attention. Requirements are the groundwork of all software products and it seeks to guarantee that client demands are rightly understood [9] [18]. RE is one of the key software processes which determines how to gather, document, review, and achieve requirements [9] [19]. In the classical world, when applying the waterfall method, requirements are explained perfectly and in-detail before beginning work on the design. However, in the agile context, the strategy is different. The requirements are mostly explained in a simple manner by producing user stories at the start of the Sprints, which is not enough to explain the requirements [17]. Thus, agile RE is facing several challenges [17]. Next paragraphs describe these challenges.
1. Inappropriate architecture that finalized by the developers in previous phases of software projects turns into unsuitable in final phases for additional requirements [20]. Furthermore, continuous change in code is an action between Agile members called refactoring. Nevertheless, ignoring refactoring during the development phase will add extra cost in the later phases [17] [14] [5]. 2. Client availability is supposed by Agile methods, though, the real application of this assumption is questionable, as confirmed by the previous literature that client access and availability always be a challenge [21] [20]. While no evidence found to contradict the argument that the requirement changes might be defined by directly the client [22]. For the process acceleration, the availability of the client is often challenging due to a number of reasons in the context of business, for instance, the client representative"s workload and cost [22]. Practically, utmost the agileteams usually have substitutes or proxy clients to pretend as real clients [23]. Besides, most of the software firms are implementing the "onsite developer" strategy to make it easy for exchange between developers and clients [22]. 3. Little of documentation involvesis one of the characteristics of Agile methodologies for changing the traditional requirements documentation with direct-point for the client"s goals through user stories [24]. The alteration from the documentation of traditional requirements with the direct requirement is the main challenge that methodologies of Agile demonstrate to the software developers. In some cases, whenever there is communication loss between developer and client then missing a small amount of documentation can be a major problem [17]. As mentioned by Cao and Ramesh [18] and Deneva et al. [23] as the complexity of the project increases becomes this challenge the worst. 4. Accuracy of estimatesis a challenge that organizations are facing during the implementation of the Agile context. Although the practices of Agile methodology help to initiate the primary valuation of a project, whereas, the disadvantage of the implementation of Agile practices is that it is not able to make accurate valuations due to  [20], For instance, the project size usually based on available user stories, which may be not suitable in upcoming iterations [18]. 5. Requirements prioritizationis one of the significant parts for managing requirements in ASD, which performs an important role in the failure or success of any software [25]. Indeed, if the requirements are not prioritized at the appropriate time, the software product can go to fail [26]. The challenge of prioritization can occur during the continuous changing of requirements, and exclusion of unnecessary functions [25]. 6. Contractual limitationsafter contract signing, volatility plays as an important role by not tolerating variations within the requirements, because these changes may highly increase the project cost and sometimes brings toward project failure. However, issues might handle by implementing strategies such as fixed payment on every release that helps to protect the investment, and also averts volatility of requirements [23]. Moreover, the elimination of incorrect and ambiguous requirements that occurs due to changes needs extra effort and financial cost. Hence, communication enhancement and client involvement may help to overcome this situation [23]. 7. Ignoring NFRsis considered as a key challenge toward Agile RE and ASD [17] [20], and also the possible reason for the failure of the system and rework [17]. Indeed, NFRs are unnoticed during the early phases of Agile development. Furthermore, software developers spend extra effort on the FR, and NFRs are overlooked until later phases, for example, reliability, scalability, security, performance, and usability are most of the times handled later in a temporary manner between the testing stage of the system [8][17] [20]. 8. Client inability and agreementare shown in the literature as a major challenge. As Daneva et al. [23] explain that inability of the client defined as regarding the decision-making process and, involves the knowledge domain of the client. On another side, the possible solution if there is an agreement of client groups who are part of the project, this agreement among groups of the clients has a significant impact on performance, particularly in short-term cycles of development [20][23] [8]. 9. Requirements changingis considered as another important facet of Agile methodology. This explains that the Agile method"s dynamic nature that enables to change, but it may cause trouble during consequences evaluation of the changes [28]. The recent development of a framework namely RE-KOMBINE has been developed to cope with para-consistent requirements specification [28], which permits the formal specification of requirements, which shows more flexibility to adjust changes. Moreover, another tool of Agile RE namely JIRA [29], which highly recommended using to address the challenging, projects [29]. 10. Missing requirementsare also considered as a challenge, especially, when using user stories to decrease the focus on requirements documentation. In this situation, the requirements can be missed mainly by a decline in the formalization of the requirements [30]. On another side, there is overlap among the challenges, for example, ignoring the NFRs are can lead to inappropriate architecture and imprecise effort estimation, because the user stories are in most cases are not enough to define NFRs in ِ Agile RE [31]. Table 5 includes the challenges with theirpossible solutions proposed by the articles

Reported Articles
Inappropriate Architecture The changing of requirements and ignoring NFRs in the early phases can become an inappropriate architecture [32].

Requirements Prioritization
The continuous changing the requirements and the lack of documentation can cause prioritization problems [25].

Contractual Limitations
The contractual changes can increase in costs, time and sometimes failure of projects, therefore, legal measures should be taken to avoid such a situation [23].
[20], [23] Ignoring the NFRs The user stories in most cases not enough to capture the NFRs, besides, Agile methodologies not have a special method or practices to elicit the NFRs [37].

Inability and Agreement
Incompetence of client in terms of decision-making, complete domain knowledge, and consensus of more than one client group involved in a project can produce the client inability and agreement [23].

Missing Requirements
The little of documentation, continuous changing and the lack of client involvement can produce the lose requirement [30].

RQ2: What are the critical success factors in an agile context related to requirements?
CSFs define as the characteristics and elements that should take into account from the practitioners in the context of Agile RE in order to ensure success. After a thorough analysis of the related articles, there are six (6) factors namely the environment and culture of the organization, client participation, training, connection between stockholder, the grade of details, and team background (experience). Table 6 shows the CSFs identified by articles.

CSFs Description Reported Articles
Environment and culture of the organisation This factor depends on how the environment and culture of the organisation create processes to solve the problems and every change produce problems [47].

Client participation
The team members should make sure the participation of clients included in all activities of Agile RE to avoid missing any requirements and reduce the fail of projects [13].
The grade of details The grade of details for requirements has a significant impact on estimation, when the requirements have low level of details that may reduce the accuracy of the estimate and cost additional effort and time [13].
Team background (experience) The experiences of team members have a considerable influence while dealing with requirements, in this time, the team with expertise has a high potential to be a success in agile context [47].

RQ3: What are the topics need more attention related to agile RE?
After an extensive literature review of the related articles, the study attempt to bridge the gap to discover four main topics related to Agile RE in the field of software development.

Limited empirical evaluation studies:
In a study conducted by Wohlin et al. [59] adopting the method of controlled empirical study. They also were of the view that classification such as questionnaires and case study could be considered as empirical analysis. Whereas, other approaches are mentioned in other articles such as a focus group, comparative articles, and simulations were considered as non-empirical studies. During the detailed examination, this study was able to find that among the articles which were retrieved 107 were non-empirically evaluated whereas 71 were empirically evaluated. Thus, it is been revealed that non-empirically validation of the articles was 60%. 2. Insufficient studies for management of change:Change management is one of the basic phases of Agile RE, and also closely linked with requirement management as well. In requirement management, only six (6) relevant articles were found. For instance, Soundararajan and Arthur [61], Anitha et al. [62], and Sillitti et al. [63] discussed the distinctions and similarities among traditional methods (V-model) and Agile methods to handle the volatility in gathering the requirements, in order to minimize the expensive accommodation cost towards the changes in the requirements. In a framework known as RE-KOMBINE was introduced by Erns et al. [28]. The objective of this framework was to analyze the factors, which could support the requirements process of the lightweight Agile. However, in Agile RE change management is considered as the challenge and still requires more empirical investigation [17] [64]. 3. Ignoring NFRs:Even though there is a wide range of literature available on NFRs, is most of the related articles focused on non-agile context. However, there are studies such as a study by Fard and Mitrorpoulos [27], that tries to propose a method namely NORMAP, in order to help the practitioners to avoid ignoring NFRs. Additionally, a NORMATIC is a java based simulation instrument that also helps in the modeling of NFRs for the processes of partial-automated [27]. However, there is still a need for further researches on ignoring NFRs in Agile RE [17].

Insufficient studies for requirements estimation:
The difference between estimation effort and actual effort is challenging to fulfill the requirements of the projects in Agile context [31]. Indeed, there are reasons that were discussed by articles such as requirement changes, missing requirements, and ignoring the NFRs [31] [51]. In addition, a number of problems may be faced due to a lack of experience for practitioners in the estimation [64]. However, this topic needs more attention especially the estimation of effort is one of the major reasons for the success of the projects [65].

Discussion
This study conducted a SLR, to explore the challenges in Agile RE and proposed solutions pertaining to it, besides, this study aims to identify the CSFs and the topics need more attention in the literature to highlight for future studies. In related to RQ1, ten (10) challenges in Agile RE have identified after review the related articles. Furthermore, it is apparent that Agile RE presents several challenges as mentioned in table 5, eight (8) of these challenges were mentioned in SLR by Inayat [5], and the two (2) challenges that not mentioned before which are requirements prioritization and missing requirements, these challenges are considered as pivotal challenges and need to take into account from the practitioners during the development of software products [30] [25]. On another side, there are issues that participate to produce these challenges, and some studies proposed solutions. For example, the NFRs are often an afterthought towards the end of the development period in Agile RE, and the failure of the system is often due to the ignorance of NFRs [17] [32]. The user stories in most cases not enough to capture the NFRs. In addition, agile methodologies do not have a special method to elicit the NFRs [37]. Besides, the main problem as reported in the area of elicitation is the lack of guidelines for agile NFRs elicitation [66].
In addition, the accuracy of estimates based on the knowledge of the practitioners and with experiences to estimate the development effort [14] [1]. While, new members of a team or junior members, besides the little documentation may lead to the imprecise estimations in the context of Agile [31]. Besides, this study explored six (6) CSFs of agile RE, for example, the grade of details for requirements has a significant impact on estimation, when the requirements have low levels of details in Agile context that may reduce the accuracy of the estimate and cost additional effort and time [13].
Indeed, there is a relation between the challenges and CSFs, the client participation is considered as CSFs, while client inability and agreement are considered as challenges in Agile RE, and that emphasize the good cooperation from the client have a significant impact in Agile RE. This study managed to discover four main topics related to Agile RE in response to RQ3, insufficient empirical assessment studies, limited studies for change management, ignoring NFRs, limited studies for requirements estimation, these topics need more attention from academicians in future researches.

Conclusion
This study is a systematic literature review on challenges, CSFs, and explored the topics that need more attention pertaining to Agile RE. The study of Kitchenham and Charters [15] have been used as a guideline to conduct the SLR. An electronic database was used to find articles that related to Agile RE. 178 articles related to Agile RE was found from 2002 until 2019. After a thorough analysis of articles, the study presented ten (10) challenges and six (6) CSFs. In addition, there is still a need for further studies in the future towards in some topics such as change management, ignoring NFRs, and requirements estimation, besides that, there is a need for more studies based on empirical evaluation in Agile RE On another side, the limitations of any SLR are the potential inaccuracy in the extraction of data, and the prejudice in selecting studies. In order to remove these limitations, the study conducted the extraction of data by the keywords of research questions through the manual search and using auxiliary tools such as EPPI-Reviewer Web and SysRev. However, alternative keywords for requirements such as tasks, user stories, backlog, and cards, did not take into account during the research, which may lead to finding other studies also.